Compare commits
1884 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 894a2dbe7d | |||
| 172e7560fd | |||
| cd5ff8ce35 | |||
| 6e717a383d | |||
| bef873b875 | |||
| 331d75a3bc | |||
| cec6438602 | |||
| f5e0c112e3 | |||
| 899c4aca91 | |||
| a4ac483e5b | |||
| 723f67ea0c | |||
| 4575701bd4 | |||
| 7cfcfb0695 | |||
| f33bfa1d69 | |||
| a3c1f1563d | |||
| 361d197c5e | |||
| 04379691bc | |||
| e1ca398b8f | |||
| f34e67e6bb | |||
| aad095ca1a | |||
| 950c951c2d | |||
| 37eaa2656a | |||
| 945853d014 | |||
| 6bb38ad500 | |||
| 980086c533 | |||
| c8f1154831 | |||
| 9196480e50 | |||
| f0506d28e5 | |||
| 8ecd5dd9cb | |||
| c83140a2d0 | |||
| 3b600ce800 | |||
| 7f874b4dc5 | |||
| 23e857a20d | |||
| 2298ef0e0d | |||
| 7470455e50 | |||
| 614884c29e | |||
| b41e54e6a6 | |||
| 2cc6c8d840 | |||
| a613540b6a | |||
| c89fcb094a | |||
| 10014d3729 | |||
| 88ff9e7cde | |||
| 459bc5fc0c | |||
| 3826c83d89 | |||
| 382917033a | |||
| 37381896bc | |||
| 22f4757aae | |||
| 57cd143009 | |||
| 031742a951 | |||
| a2e2559b26 | |||
| 6e0071a046 | |||
| 352a59838d | |||
| 63371e8111 | |||
| 383ab1121d | |||
| c9a7527bcb | |||
| 7d4d899226 | |||
| 169429fe48 | |||
| 94304eb055 | |||
| 4a40e19b34 | |||
| 22422321ab | |||
| eafaf2b4cd | |||
| 281c85c283 | |||
| 8cecdebc05 | |||
| cba55aa643 | |||
| f7c5b5725f | |||
| 07b495d48c | |||
| b5d938475a | |||
| f8b127a85d | |||
| a216ba364d | |||
| 6d0ec33316 | |||
| 35681fe9a5 | |||
| e560ddf3dc | |||
| 77fffb1a9b | |||
| cf74d17e1b | |||
| a0e7bb94c6 | |||
| e10617ac19 | |||
| cd2b5fd668 | |||
| 336e8b99ec | |||
| d8bac9df8c | |||
| 1ff4a56e2d | |||
| 7bdafa28cc | |||
| 03e11fbe3e | |||
| 74d193d294 | |||
| 46e3b98b62 | |||
| 2d323cef39 | |||
| 8846ca5b5e | |||
| f310f1b316 | |||
| 10d9282df7 | |||
| a751507f19 | |||
| b4b7738aa6 | |||
| 8fd37d72c7 | |||
| f09818e564 | |||
| bdd0fbe5ae | |||
| ddbad36d8a | |||
| ae829cbe3e | |||
| 5ef6cb2e0d | |||
| a1a45f50bf | |||
| 42675abef1 | |||
| 08f0f8ee17 | |||
| 4e1155f8a7 | |||
| 4bc7cf1e86 | |||
| 1491487328 | |||
| 750d8b7bc3 | |||
| b59d505725 | |||
| 2cce71cf28 | |||
| 964f5feb4b | |||
| 9835af0845 | |||
| 81f921623e | |||
| dc5968b0b5 | |||
| 43392ca0e4 | |||
| 88d6092153 | |||
| 0ddf1dd640 | |||
| ddd475d537 | |||
| 543c3ffc54 | |||
| cf97c08aaf | |||
| ea0a62b6a3 | |||
| 57f3d44326 | |||
| e7eb2ff9cc | |||
| 6a3261394f | |||
| d41af88494 | |||
| e83864fd02 | |||
| 5722a92dc1 | |||
| 5249377199 | |||
| b3a20fb938 | |||
| 74627fdf90 | |||
| bbe5ae9b7c | |||
| 63b6365128 | |||
| ed9cf526cd | |||
| cb0c294df6 | |||
| 661f286b77 | |||
| 8c5cd7f11f | |||
| b64df318ce | |||
| a1c85d91fc | |||
| ce95dfb3d1 | |||
| cbfd4f9de3 | |||
| 5d50775932 | |||
| 18ad241025 | |||
| 4b98882b41 | |||
| 3ec9bfca1b | |||
| 6f7c46e086 | |||
| 7726335413 | |||
| f3d8a749fd | |||
| f11e9a142f | |||
| 72c601b2db | |||
| 4cdc6c9632 | |||
| 3b9962d7dc | |||
| d926d11d3c | |||
| 9fb5182b78 | |||
| a1950ebccc | |||
| 8f9caa5d9a | |||
| c537084d07 | |||
| 9f195231db | |||
| 805429722f | |||
| 5b67f60e6f | |||
| 6557a1a7bd | |||
| a62ee8b3cf | |||
| 7714569251 | |||
| 8b9e48d4d3 | |||
| 94e3426779 | |||
| 6b13e9141c | |||
| bf00a23499 | |||
| 569a4b16b4 | |||
| 8ec22189fd | |||
| 9d539c4766 | |||
| fada27257c | |||
| c55880bcb9 | |||
| cbadfab62a | |||
| c435b55576 | |||
| 69e3e2bca3 | |||
| b20cbab012 | |||
| ce4c5db5df | |||
| 6d2912e320 | |||
| e14e122b6c | |||
| dcd16cb84b | |||
| 98183a4e75 | |||
| 4ec1dea1ba | |||
| 031bf754e8 | |||
| c081b6c57c | |||
| 6413e17e4b | |||
| 01c1dbb146 | |||
| 9e0046ba83 | |||
| 150d929a45 | |||
| d5074feda2 | |||
| 4741e25349 | |||
| c3f99835db | |||
| 996621887c | |||
| 6f931c66bf | |||
| 024176f97c | |||
| 968bc9addc | |||
| e83f7bd62e | |||
| c5787d0ff2 | |||
| 30076f1b60 | |||
| 34fdae1c78 | |||
| dd7d7733f0 | |||
| fd1944eb26 | |||
| 64fce77a0a | |||
| d569ae4052 | |||
| 5f8eceee8d | |||
| b49988af9e | |||
| 46ba2630f1 | |||
| 02a1445732 | |||
| 8bdc4fe779 | |||
| 28de6f93af | |||
| 20394068b2 | |||
| 599340c4e8 | |||
| e6c985a189 | |||
| 244d960ec0 | |||
| eea2155e20 | |||
| 8f6ff8c943 | |||
| 97554ccae6 | |||
| c866fbfbfd | |||
| 0c5c4f3a74 | |||
| 0f04453134 | |||
| a734bb6a69 | |||
| dc687f70ae | |||
| e15ffe10c9 | |||
| 3d999a1749 | |||
| 47391028d8 | |||
| b8e03a2144 | |||
| 2a39a4cdc4 | |||
| 89012711ce | |||
| 9b93125936 | |||
| 113c0f227f | |||
| 28e230a2db | |||
| bb5dd248d8 | |||
| 9b46613355 | |||
| a44469eac4 | |||
| 87e5647379 | |||
| 045c9f46d2 | |||
| 7826d756d0 | |||
| f37ed0cccf | |||
| 6fcdde8a9f | |||
| cd20fb1e34 | |||
| d7c96bbba4 | |||
| 5c30d077dd | |||
| 7df442878d | |||
| b8f90ddc55 | |||
| cc134092ed | |||
| 5d4268e902 | |||
| c718733104 | |||
| 97e7f05636 | |||
| b4269afc9f | |||
| 46740f51a7 | |||
| 9ccbc792b4 | |||
| 89ea4c5172 | |||
| 61c83e4c10 | |||
| 65e053db0d | |||
| a9ccc6fa34 | |||
| 3f5622debf | |||
| bddf9c85e8 | |||
| cb6d4a1471 | |||
| 2651e3d435 | |||
| 2f4c398852 | |||
| b255e0ac68 | |||
| 848b75ad7d | |||
| 556550fea8 | |||
| 223326afe2 | |||
| 0cfdf8f57e | |||
| 1859d0ea96 | |||
| 9392decd35 | |||
| f6e2f2f52a | |||
| bc1a4ec138 | |||
| 06b43d6627 | |||
| 30055805d8 | |||
| a07e43ad5c | |||
| cbc34fad82 | |||
| 35af4eaed3 | |||
| 15ee6a9512 | |||
| ab88d06cff | |||
| b622095883 | |||
| 4ab2fef1ac | |||
| a27593149a | |||
| 8a4172dda1 | |||
| 0e0f5ec3ea | |||
| d0822213d5 | |||
| 5e924a00b1 | |||
| 71536230b6 | |||
| 08483d02c6 | |||
| e771f8a53c | |||
| 23b9f16747 | |||
| 7e287dab71 | |||
| 4cb2bb97a8 | |||
| d7eb8d9416 | |||
| 9c8d77a4f3 | |||
| 779431b123 | |||
| d106a79532 | |||
| 0efa4c3de3 | |||
| 1c90270eb6 | |||
| a8bee52159 | |||
| 3adc37c63f | |||
| 9268a43446 | |||
| 3c4e57cff5 | |||
| ac0eacb721 | |||
| b0c2874e71 | |||
| e61f6bb802 | |||
| 69a2c18452 | |||
| 146dd85920 | |||
| 163c0bf1fa | |||
| 45c47533c2 | |||
| 22c11b3eeb | |||
| 8a9f63ab25 | |||
| 79b0b3dc0a | |||
| fe9695e889 | |||
| d878e464f6 | |||
| 2667101453 | |||
| 7507cf98a7 | |||
| 9e63f7ed4d | |||
| 0f5cf77f23 | |||
| d52323ff44 | |||
| 7549543268 | |||
| 43366e1f6e | |||
| 19aedc14cd | |||
| ec29ea8cc1 | |||
| ab031d2961 | |||
| 0da306225d | |||
| 51190efc66 | |||
| 1b8ee5cd48 | |||
| fa12443cb1 | |||
| 798a5c6c96 | |||
| 51c76fe5fb | |||
| 9e8ca25a71 | |||
| 8299955a55 | |||
| a691b27b4f | |||
| 47b6730f63 | |||
| c6ff1b60bb | |||
| 796e8652a8 | |||
| f65b4205c3 | |||
| 0caf164e06 | |||
| 8dbeb16f33 | |||
| 1d88d12632 | |||
| c1309eb4e8 | |||
| 7c678a4a41 | |||
| 25d51842a7 | |||
| 532271ab10 | |||
| b984345ca0 | |||
| ebebc5566e | |||
| 77d8f413e6 | |||
| 19d20f5591 | |||
| 706a423c5f | |||
| 88d78c53fd | |||
| 0c30c72d26 | |||
| d0805ea775 | |||
| 2c154613a0 | |||
| 070b52da5e | |||
| 20452ceb76 | |||
| 1880c65078 | |||
| 104be7804c | |||
| 9460fc9b04 | |||
| e8bce52ead | |||
| 614e1e027f | |||
| b999a321c7 | |||
| f32e25f52f | |||
| 5e413cfe93 | |||
| b5853d20ee | |||
| 39e477f8ca | |||
| 22e91d62b6 | |||
| ca9dfed516 | |||
| 466ebe0503 | |||
| d21244ce23 | |||
| eee52c8f55 | |||
| ddc3291bf7 | |||
| 0dc267f038 | |||
| efc2ce84e4 | |||
| bd3592ee5b | |||
| e693e2f9e0 | |||
| ab60df6240 | |||
| 124dbe700f | |||
| d1d7cc4dd2 | |||
| 42135636af | |||
| fc248d0956 | |||
| b641436d80 | |||
| 7959097fe3 | |||
| e73e3a5587 | |||
| 9c918c7bbb | |||
| 7e869105cb | |||
| 8af14ad3e7 | |||
| 1ebbd9f7e4 | |||
| f9b544cc11 | |||
| 04b961b164 | |||
| 09aa607a48 | |||
| 5ee6141d3f | |||
| 73facf1f35 | |||
| f01001726a | |||
| 3356af9cca | |||
| 773f17ddfe | |||
| 836332959c | |||
| de514b1d1d | |||
| 8e46ce07e0 | |||
| d5b929f7a7 | |||
| 2eae46271b | |||
| 2d7e0d8b21 | |||
| ebc5f30863 | |||
| e90daa8e5b | |||
| 0a8847cdc0 | |||
| 3daa0eb6ce | |||
| 7ba3fc0dda | |||
| d07a285323 | |||
| 5610d9bc0a | |||
| 4b8f27ed78 | |||
| b3a09a12fa | |||
| 0b3958eb58 | |||
| 528499215a | |||
| ad2e3e738e | |||
| e3eb08a983 | |||
| 4c5204172e | |||
| 645567c474 | |||
| 446c274094 | |||
| 23ebfcb9bf | |||
| 643112953e | |||
| 488b598d97 | |||
| fecefc8bdf | |||
| 30dd5f5d59 | |||
| b9896d3020 | |||
| 1d0a979e5c | |||
| 8b47c3ea5b | |||
| 79340dd9f2 | |||
| 117bfb7f31 | |||
| 5e2accadca | |||
| f746f8b4ec | |||
| b3c4ea47d7 | |||
| b244a17358 | |||
| ca425eae6d | |||
| 2cd1dc6e92 | |||
| 0942f0f1a3 | |||
| 135b950db1 | |||
| 917e532408 | |||
| 0d76a8edfe | |||
| b1e97214ec | |||
| 639c24dd8e | |||
| 5b6836d184 | |||
| fa1527243f | |||
| cbd404913f | |||
| b57d7c13df | |||
| bf2c36369e | |||
| 41b313943b | |||
| c4d0b693eb | |||
| 611aae667c | |||
| 2900417a3a | |||
| 146d9da417 | |||
| 2d4f057eb0 | |||
| 9ef25bdee0 | |||
| 363a1aea4d | |||
| fa03336a5d | |||
| b38b33e87e | |||
| 96074c2f50 | |||
| 5f7e9c16f4 | |||
| b1ed91af2a | |||
| 416c0db163 | |||
| f387a2ca1b | |||
| ad24cbebe3 | |||
| 8eb4afef68 | |||
| b0ad8fa637 | |||
| b014317e1a | |||
| 50257c6b94 | |||
| 29fabe1849 | |||
| 201c0c3e3e | |||
| bafbbf225e | |||
| 451b3cfdbe | |||
| c6104e2dd9 | |||
| 70b3460928 | |||
| 35d2d638d4 | |||
| c40067359f | |||
| d69e6b7d8d | |||
| 5921dfa749 | |||
| 62bf59f098 | |||
| 06478a56bb | |||
| 6c915c571a | |||
| 80ed8127f5 | |||
| 1e5a4d43f7 | |||
| 78e2b4ff3f | |||
| c45ed9aa70 | |||
| 4c2c89de57 | |||
| c724c6211e | |||
| 4b14fe82e7 | |||
| 31971e03db | |||
| 6e87a31e2e | |||
| df097b9425 | |||
| d3a575542d | |||
| 7ce89e9903 | |||
| 7f4e5d9e58 | |||
| ae65fb8e93 | |||
| 2bf997e882 | |||
| f4e7eb6a38 | |||
| 229e042994 | |||
| fb5b16e557 | |||
| ff90dc04b7 | |||
| 21b5470863 | |||
| 05c523ffdf | |||
| 82b2bf1434 | |||
| 83999fd516 | |||
| 9caad6ee41 | |||
| f3a83addd4 | |||
| 28649f4287 | |||
| 1a5bd288c8 | |||
| 94f1d99672 | |||
| bf62ecff0b | |||
| 974cd95867 | |||
| edaee7edd2 | |||
| 526f483bfb | |||
| 444090ed39 | |||
| e0d25fdd88 | |||
| 4ddfb8342d | |||
| 8f0c820c09 | |||
| bbcf1d0071 | |||
| ece2fc5e6a | |||
| 513fc4c686 | |||
| 417cf0a891 | |||
| 820683783b | |||
| ffb1ce4355 | |||
| 1bea96b050 | |||
| 3231a2df3e | |||
| 756af2bec4 | |||
| bbaea5e614 | |||
| 6409cbad09 | |||
| 18ed2e7eee | |||
| f45a4b8d62 | |||
| f0238dc4ea | |||
| 6011a16e11 | |||
| 5c6302edbd | |||
| 0e57870ba9 | |||
| cd55659331 | |||
| 2516ba5524 | |||
| 45045de794 | |||
| f81b453c39 | |||
| e966d40ae2 | |||
| 57c5c618f9 | |||
| 30cf937539 | |||
| d1df845e79 | |||
| 877b0dae25 | |||
| 1ec06fa94e | |||
| 94b2b63767 | |||
| 65751b0abd | |||
| df859bd9fc | |||
| 05349beb8d | |||
| b18fcb5815 | |||
| 9b183aba93 | |||
| d9e3293cf3 | |||
| e1b448dd39 | |||
| ebef91601e | |||
| fb424aadb6 | |||
| d15eba1185 | |||
| 03d2d0c3a2 | |||
| b0f1a6e70d | |||
| adae64f42c | |||
| d12d132e4c | |||
| a36b231ce8 | |||
| ee24bd0881 | |||
| 1be2d24f42 | |||
| e6a5a65f21 | |||
| 42d80cbe34 | |||
| 2c6f2717f0 | |||
| bf17a72a7a | |||
| f0575d0bc2 | |||
| 42a875ed8d | |||
| 312b32cd63 | |||
| 181232c18e | |||
| cbf84639ca | |||
| 2142799fab | |||
| db218adcf4 | |||
| da692ab928 | |||
| 9bbb861b4e | |||
| 37acd4a130 | |||
| 3004685235 | |||
| 1b094576d7 | |||
| 4333cf65a2 | |||
| a4b7e3e021 | |||
| e7021dff2b | |||
| a91c6e7e9e | |||
| 26c86b4059 | |||
| 14bc64ea6d | |||
| a2ed27c1d3 | |||
| ebbeb02489 | |||
| c46e12fb7a | |||
| 752c4af676 | |||
| b5bd50f789 | |||
| a5d0035f81 | |||
| 72e396bbcd | |||
| 7d7202950e | |||
| cb0b610812 | |||
| 19cde1bbd4 | |||
| 1fe209d72a | |||
| a61317aa57 | |||
| 05a16e00ad | |||
| 03efa3c191 | |||
| 9d5bfc4f16 | |||
| 1aa45bd9d6 | |||
| 04e8a99320 | |||
| 5b8649630c | |||
| 89e92504e4 | |||
| 6fa0c802dc | |||
| 10b3c94782 | |||
| cdb0ce63b8 | |||
| 29d474c577 | |||
| 74cac0c263 | |||
| 9a82b718a5 | |||
| cd7463728f | |||
| f5fd27d513 | |||
| 568a4b0a2e | |||
| 2c01b29dad | |||
| 5ae2731008 | |||
| b096183388 | |||
| ae4fe153ed | |||
| f92fc89073 | |||
| 15e03e03e9 | |||
| 4cddc9efe4 | |||
| 4a4a3bf297 | |||
| 704da8cfc1 | |||
| cd9f8a5f9b | |||
| 3555a9aa01 | |||
| f41552b760 | |||
| 064853c6ff | |||
| bc0437f78a | |||
| b4fe07643e | |||
| b1c07c6204 | |||
| 8a0e3a710c | |||
| 1ae1f1f36f | |||
| 2cee805645 | |||
| db58aa117a | |||
| 1c247e0da2 | |||
| 4d863adac5 | |||
| 96a39bce69 | |||
| 9a89731a59 | |||
| 269b763b73 | |||
| 00806933e0 | |||
| 84236e7a31 | |||
| 5ee1bea7c0 | |||
| a5178cecea | |||
| cc933b6bd0 | |||
| 03f50b168d | |||
| 13b7a20ff6 | |||
| 62e8bea246 | |||
| a51bb760d0 | |||
| a28eddc1d5 | |||
| 61564d8914 | |||
| 378ea5599b | |||
| 5ec874d4a0 | |||
| d3865551a5 | |||
| 8f42acbd65 | |||
| 25f4ef3224 | |||
| a37b0abd18 | |||
| 22281d477c | |||
| 0b2284e258 | |||
| 7d84e05b1f | |||
| 2d1729d325 | |||
| e415d1cb72 | |||
| 5735599569 | |||
| d73c0b9531 | |||
| faf51a57e7 | |||
| d6d94804a0 | |||
| a21edfeed6 | |||
| 36092008ef | |||
| ae8c95250c | |||
| e484926f62 | |||
| 8ae78dbf60 | |||
| ac1beb732d | |||
| 1e7b459b6a | |||
| b234c3e57e | |||
| e8dc6f12e0 | |||
| e8a7ec1cf8 | |||
| c199cd60ec | |||
| 8c19fc60f8 | |||
| 3290ba3b34 | |||
| ea7f199c9b | |||
| 36fc6aaea3 | |||
| ea05ef3d3d | |||
| 72ee854655 | |||
| 65e6aa1aa0 | |||
| cc16e21352 | |||
| 2cf798ed4c | |||
| 8c7d640f37 | |||
| d98c052d0d | |||
| 31faa9925a | |||
| ceda768f2b | |||
| 4da4666aec | |||
| 08359b1b31 | |||
| 1da2b3558e | |||
| 4cd6bc06f1 | |||
| 4f1f11e769 | |||
| f21545a3af | |||
| 33cb8c02e8 | |||
| ed596955f7 | |||
| 800ffc5611 | |||
| 89c6dc0333 | |||
| 2e49bf299e | |||
| 2c71a2a63a | |||
| 3d62ca361d | |||
| dc1ce86cc3 | |||
| a60f91ad00 | |||
| 6976cb9bb0 | |||
| d71ab1138b | |||
| a3a41c44a9 | |||
| 1af6e83086 | |||
| 8c7937f9a2 | |||
| f692ddaf93 | |||
| 3ee3b9c98c | |||
| 88b02ef2f7 | |||
| 7a0a217822 | |||
| 983703479f | |||
| e29974282e | |||
| aee6407941 | |||
| 9ba1b18fac | |||
| c28ec12983 | |||
| b894cc8836 | |||
| 08f78c22f0 | |||
| 751eb75c50 | |||
| 7ac562c5e9 | |||
| 3148991667 | |||
| d4a75eb73c | |||
| 9f46dd13a6 | |||
| f6df6e83a5 | |||
| 58378ffcba | |||
| d3a7bb7b9d | |||
| 5c03d7446b | |||
| fa93a22ab2 | |||
| 93cfea4c84 | |||
| ee93122254 | |||
| 44691f38f1 | |||
| 4439983ace | |||
| 0978f4a4d8 | |||
| 2cd2941cbe | |||
| 2cb1e32817 | |||
| c6ee61777c | |||
| 781bcd318c | |||
| b3591066bd | |||
| 7a3f63040d | |||
| f8857d2a1d | |||
| cfa00010d9 | |||
| 0979d75a5d | |||
| 53e8519aab | |||
| 8871b893c1 | |||
| 2216eed449 | |||
| 9e43076853 | |||
| 7470552576 | |||
| a0bc44ca06 | |||
| 2e647b5781 | |||
| cdc6635a76 | |||
| 89724e4a74 | |||
| d5922900b5 | |||
| 269cbf8355 | |||
| 1fba04132b | |||
| e62ddc302b | |||
| 2ab48e0a8b | |||
| 697abb520b | |||
| f1b31a4cfe | |||
| d553965f28 | |||
| 089f887035 | |||
| 1d637668c6 | |||
| 3361ba2fab | |||
| 971caca9c9 | |||
| 48a3675eec | |||
| c8f9c83935 | |||
| 81992f6a87 | |||
| f8814e3a11 | |||
| f6ee8048eb | |||
| 794e9afc10 | |||
| ed6a4573eb | |||
| 4ec4b2f8dd | |||
| 1e05972e3c | |||
| 786c445a91 | |||
| 3b14bd655c | |||
| d5f3ac9fb8 | |||
| 35f5bce149 | |||
| 2964acfc8c | |||
| 6babf730dc | |||
| f57c52b2d0 | |||
| 3113263012 | |||
| c0e0412de9 | |||
| 283f4c9782 | |||
| 461302d290 | |||
| d6352b9ea6 | |||
| 4bf12c7fc4 | |||
| 8431256b2c | |||
| 0e1c4c49c2 | |||
| a30bfdf397 | |||
| 158a614482 | |||
| 974953ae9d | |||
| 02449a909a | |||
| 42841fe2a1 | |||
| 70989a9369 | |||
| ef21987817 | |||
| 56c8441daf | |||
| b229d928c1 | |||
| 3db7ffeb01 | |||
| ec2382372e | |||
| 4c081fcf26 | |||
| 61b5ec1d70 | |||
| 859fcaf1b8 | |||
| 91f67cac9b | |||
| c7ac9faccd | |||
| 123f17288c | |||
| 11ec8b1eaa | |||
| c80136719d | |||
| ff3949f353 | |||
| 8809fa88ce | |||
| 97d5429b34 | |||
| 3784458cba | |||
| 155648035b | |||
| c75c830ab2 | |||
| ea5b19b4e7 | |||
| be1d13e6ad | |||
| 4563e4872e | |||
| ceb0c215c5 | |||
| d239defb94 | |||
| ff7e945b07 | |||
| 26b6e19753 | |||
| 4969d2362d | |||
| 7dc054c1dd | |||
| e488cb8a4c | |||
| 7aa432951c | |||
| 468c8b134c | |||
| 1139a6eec7 | |||
| d4bc5bbc82 | |||
| e5ab12ef3e | |||
| 55bf122bc1 | |||
| 300834f582 | |||
| bde1c860b9 | |||
| 858bf3e99b | |||
| 8489003e0c | |||
| 56959094ae | |||
| 2914ddd121 | |||
| f67949dbc4 | |||
| 8df8ed4a02 | |||
| 470c9ff5b5 | |||
| d3cf47ccd7 | |||
| 2b97fa639a | |||
| 91a6f4468a | |||
| 27c5f308a8 | |||
| c56cbb20c4 | |||
| e6f673783b | |||
| fe05594d45 | |||
| a97d8bb8ee | |||
| 766ee0975e | |||
| a3efc652dc | |||
| 4df9c1ca01 | |||
| d1ecec9ee9 | |||
| 857979b7f2 | |||
| 72e1e29a0b | |||
| 59c62aa6f0 | |||
| 510dc47943 | |||
| c2f7ca8f38 | |||
| dc88c46dc9 | |||
| fc54e0f893 | |||
| 9f9c542a6c | |||
| 2930a899d8 | |||
| 38a7a837e7 | |||
| df63dd1370 | |||
| 4de8812861 | |||
| f8f6c9f877 | |||
| 260358be93 | |||
| e5dcc4189d | |||
| 475e4da4a7 | |||
| 7ccb5c1806 | |||
| ba0de99948 | |||
| b53739a112 | |||
| 8bcfe3e35d | |||
| 1345982795 | |||
| ff1a1d5164 | |||
| 783ceeb633 | |||
| 42f45f05c3 | |||
| 5800029206 | |||
| 146c2e6f1c | |||
| 76bc81233a | |||
| 3ea55065b3 | |||
| a724938f71 | |||
| fc1bbd2f91 | |||
| 622a1633fa | |||
| 66d3fc8151 | |||
| 5f68122336 | |||
| 8daa52f36e | |||
| 61c8288b99 | |||
| d9ef3670fa | |||
| 8f6ee82fc7 | |||
| 3179ba0db8 | |||
| e58b1fffed | |||
| 84b50761bd | |||
| b17f19efb3 | |||
| 3f25472437 | |||
| 3415db58a6 | |||
| 9be69863ae | |||
| 65ef693cb5 | |||
| d5fc8b760a | |||
| 895a0db542 | |||
| 3062c29230 | |||
| fa8f7b2a37 | |||
| af5bb351e8 | |||
| a00cfbb7de | |||
| 86683d85c8 | |||
| 30b6600b7d | |||
| 860374fd1b | |||
| 4df1bd10a9 | |||
| f24bc112c3 | |||
| 57664ff1f1 | |||
| c8e6a56467 | |||
| 8401353e4d | |||
| 675682d631 | |||
| 7f51aef384 | |||
| fdb470b5b3 | |||
| b71b9e13a6 | |||
| 5db5bce308 | |||
| 6a87a87597 | |||
| 388ea9050f | |||
| 9d518a5fd6 | |||
| 6acb1a2e9f | |||
| f0d3ece345 | |||
| a00e1c22c3 | |||
| a7a54598b2 | |||
| c3ed5f98a5 | |||
| fe16c5a9ca | |||
| dbcc15e185 | |||
| f6e68082b7 | |||
| 3190d60729 | |||
| 3283a250ed | |||
| 2444d7068f | |||
| 24b32ad6c9 | |||
| 5a74249f8a | |||
| 66f4595b7b | |||
| ce3a06e410 | |||
| 76b464d5d7 | |||
| 8727cd09af | |||
| c5041de5d4 | |||
| 51bb3eec3d | |||
| 060dca1574 | |||
| cb23b1ee55 | |||
| fce04b419d | |||
| 7a5e1b5726 | |||
| 2ead289ade | |||
| f3414ed73d | |||
| 693df3f88a | |||
| 187c15ddb4 | |||
| 4a069b42d8 | |||
| 80f9bcb148 | |||
| 973e106882 | |||
| ed9cccccea | |||
| 5fb79325ce | |||
| 96edfcb065 | |||
| 581ac02472 | |||
| 730216b761 | |||
| 7d5b3c8917 | |||
| 83ab7e46b3 | |||
| 5a014f163d | |||
| 62ff9606c1 | |||
| f07973a1ce | |||
| 2fc74914b4 | |||
| 2b0ee29a8c | |||
| b50c2cf9a9 | |||
| 55f39996cb | |||
| 44a66a3d93 | |||
| 649cd5bbe8 | |||
| 748b484377 | |||
| ea40006023 | |||
| 52edbd7c18 | |||
| 10b9161188 | |||
| 77b8b973dc | |||
| b9cfe535d1 | |||
| 77bc3bd3c2 | |||
| 81ac90feb4 | |||
| 48ef896e06 | |||
| e288302bfa | |||
| 2fc76e2842 | |||
| e660c466f8 | |||
| 1f9aa2f70b | |||
| 8378b1f09a | |||
| 8bae038612 | |||
| 114d3210fb | |||
| e2a3f23e91 | |||
| 98634e2a0b | |||
| 2358797a82 | |||
| d91cde2319 | |||
| aee752a112 | |||
| cc35e50edc | |||
| 007749c9ef | |||
| e3ae9126bf | |||
| 88e2482068 | |||
| 76dfff013f | |||
| 88fbd76952 | |||
| 7c9301745a | |||
| 048b745be0 | |||
| 35f239693d | |||
| 9789b5be12 | |||
| 89f0d719c8 | |||
| 368541b09c | |||
| d04b4c0d55 | |||
| 1dad6fd83f | |||
| be38d82b26 | |||
| b0f9122599 | |||
| feb03efafa | |||
| 6066b98a9b | |||
| cf60322be6 | |||
| 5dcb73b30a | |||
| a3c991d769 | |||
| 31a563ee90 | |||
| 5bc9ce7c8a | |||
| 56e4454e41 | |||
| d5c1b7669d | |||
| 2f249c39d4 | |||
| 173e216fa3 | |||
| e760c6a4e3 | |||
| 419323bedb | |||
| 71f8bccb7d | |||
| 40225cb13f | |||
| 1568f73c40 | |||
| 6127ca192d | |||
| 64b7e2ef33 | |||
| 808380b461 | |||
| 773cd3aaef | |||
| 55019c51ed | |||
| f5784c07b1 | |||
| ac73b52b23 | |||
| 122e24ad6d | |||
| b7ca6dbd87 | |||
| 594f42a889 | |||
| 5c2f89a0a5 | |||
| a5db19cfc9 | |||
| fa8a62b8a9 | |||
| d0819fb6c1 | |||
| d335e10057 | |||
| f5a0789321 | |||
| fb77c766a6 | |||
| 1c65d030b1 | |||
| f98ab8a56b | |||
| 175581ca76 | |||
| ed61354ec0 | |||
| 0631f7adf7 | |||
| 9f81194d21 | |||
| 419af81523 | |||
| 6832d21a3b | |||
| 6db6c69983 | |||
| d502fd4daa | |||
| b2196448f7 | |||
| 2ab16b1fe5 | |||
| d99d34683c | |||
| 500d3cde57 | |||
| 98ee3f9e5f | |||
| 24a335565e | |||
| 12d5d9e32b | |||
| a00671c2e5 | |||
| 8ae03af7c2 | |||
| 2ea75821a1 | |||
| bb491f5de1 | |||
| 082f7597b2 | |||
| 758ff8a527 | |||
| f785e75622 | |||
| 5a33a4511b | |||
| 531af72173 | |||
| 190a55e98b | |||
| 79a2e52e30 | |||
| a1ca634891 | |||
| 9829173928 | |||
| 19593d4ea7 | |||
| cd53cd8ffa | |||
| 72b89814b6 | |||
| 0179f10166 | |||
| b3a36e4f1f | |||
| b1d6429225 | |||
| c9aa7553af | |||
| 0e6f294ad7 | |||
| 25ba274a36 | |||
| d2bb99fb4b | |||
| 9902fbb424 | |||
| 10b0cf9d8c | |||
| 8f499d7320 | |||
| c9e2864c88 | |||
| a003ecf378 | |||
| 46432e772c | |||
| 7ba43286d9 | |||
| f4ece1816d | |||
| add6ee6f11 | |||
| 3b4054c3c7 | |||
| a67cbf3435 | |||
| 3930641fb6 | |||
| a8682ec164 | |||
| 1ee254f38b | |||
| fd42a94430 | |||
| 6124f5cb4f | |||
| 5cb70b5e76 | |||
| 8f6109768c | |||
| d64446ecda | |||
| 05d4e4bf61 | |||
| 4b29e96686 | |||
| a49a81be14 | |||
| d992bd05f4 | |||
| ed935f6a0f | |||
| f58ac4b647 | |||
| dbfc434fa7 | |||
| d16f763df0 | |||
| e00d1c95e3 | |||
| dc5086a29f | |||
| b46e85b542 | |||
| 1dc3bc2889 | |||
| 09eea400eb | |||
| ea24d619e2 | |||
| 013a293052 | |||
| 0cd04df689 | |||
| 3d9f21df25 | |||
| f2ae458e7c | |||
| 749491b520 | |||
| 42fc173ae2 | |||
| c539a3f3be | |||
| 041c2ad5d7 | |||
| 920ca5ec40 | |||
| 5986069eb9 | |||
| 9eb0f18a52 | |||
| b38827a8de | |||
| 7a723bdf14 | |||
| 7444670189 | |||
| f22be2b42c | |||
| 762e099bf1 | |||
| 562b0a8da2 | |||
| 95db633e09 | |||
| 6a6ea845ea | |||
| f8df9cd4e2 | |||
| 428a0cd10b | |||
| aee6c84dae | |||
| 98e55bb1a3 | |||
| a3f2cdc72f | |||
| 824a8f835c | |||
| b4eda2fc46 | |||
| 3a80639538 | |||
| 84727148a8 | |||
| 537f7164c7 | |||
| 3bed312499 | |||
| ea76c29c23 | |||
| a2f0ff89ac | |||
| 123c259831 | |||
| a7e64e7188 | |||
| 5894af6eca | |||
| d87cf40b22 | |||
| edca69b789 | |||
| fe16c34b6f | |||
| 47c0cef4df | |||
| e543f1ce73 | |||
| 8b580c51d6 | |||
| b1b71ad021 | |||
| 62c78b133d | |||
| ed6790458d | |||
| d592f87d62 | |||
| 4470cea9b2 | |||
| 2400d999a3 | |||
| a2afe4de5f | |||
| 64ebadea65 | |||
| 7bcef43ef9 | |||
| 1fee51f344 | |||
| d4712732ec | |||
| dfd8818fe7 | |||
| 1c366bb75b | |||
| c6a6e6c14d | |||
| de6c8af95f | |||
| 2cb044f4b5 | |||
| 05ca9bca15 | |||
| 2a8e4cec23 | |||
| 03a36a80ff | |||
| 84d998e847 | |||
| 299742a4da | |||
| 250ace6f28 | |||
| 09dfa5477d | |||
| 3aa097ab82 | |||
| bd3b263f1b | |||
| 6404216f9d | |||
| 7a715ff313 | |||
| cf18554646 | |||
| 99f94d8be0 | |||
| ec1393ee85 | |||
| c8c927d8f8 | |||
| 64a1120be2 | |||
| be5d5ec404 | |||
| 9ea5aba0ab | |||
| e1c0299368 | |||
| 20dc5032ad | |||
| d8e5d588d9 | |||
| ecbadfb8c6 | |||
| 6103625911 | |||
| f136fe9bde | |||
| 3a4743b717 | |||
| 553a125614 | |||
| eb5da6fa4d | |||
| 158b7561bc | |||
| 45a2e67341 | |||
| 6e67ce307e | |||
| 7e3a5181d5 | |||
| b03ea39338 | |||
| 63e75fb508 | |||
| 3d413b072b | |||
| e017d3d599 | |||
| 5c9170d13b | |||
| e48e7fbf7a | |||
| 39778fe944 | |||
| 85a0e75786 | |||
| df646bb87c | |||
| b11d1c4b3e | |||
| b013d93908 | |||
| 4d9264321c | |||
| 5f84f01fb8 | |||
| 3d13f6f46f | |||
| 90295b7dcf | |||
| d2a0057919 | |||
| 146a2d38cb | |||
| 45b410806b | |||
| afc045dd4c | |||
| 8856843830 | |||
| afd18ef56c | |||
| 4f496958fb | |||
| 82fe7c099d | |||
| 779d93700f | |||
| 7d060d8b85 | |||
| f4c1c9ebbf | |||
| cb88a48d78 | |||
| 3ffd4e9ff6 | |||
| ba64241774 | |||
| 1b682580fd | |||
| 7b795af7b3 | |||
| eec8db6223 | |||
| a465a8da9d | |||
| 0b05ced5b9 | |||
| a985e1c542 | |||
| 8a32d7f84a | |||
| d4b6ec74a8 | |||
| cda265b07f | |||
| 57fec0f805 | |||
| 04b12a2715 | |||
| 63950edc96 | |||
| 515ebb8c99 | |||
| 03acb159e0 | |||
| 837f7d6b5f | |||
| ea8076db97 | |||
| 38ff3b6942 | |||
| 29b5cd9a50 | |||
| 4e0254154f | |||
| adf5d3eb14 | |||
| 3c4faf1cd0 | |||
| bf2ae21c21 | |||
| 32e11062df | |||
| 7d2ab7f589 | |||
| aac99f1682 | |||
| 64bed83ddb | |||
| 333dc4d0e0 | |||
| d7338a7bb7 | |||
| 0ddd68b6e6 | |||
| a9583a6227 | |||
| 2020cae17a | |||
| af3916b089 | |||
| df0a5f5bd0 | |||
| 44e280e8b7 | |||
| b6ef754d61 | |||
| 579302f643 | |||
| cb23fddd53 | |||
| 2f99de7900 | |||
| 6056d7f7d1 | |||
| 586c550c80 | |||
| 4b5bfe6799 | |||
| 45cc0f38be | |||
| 3c72765c9a | |||
| ded7dde42a | |||
| 3510facd1e | |||
| c5c298708f | |||
| d687ec892a | |||
| dbfde9f637 | |||
| f2be1bd034 | |||
| dd8ee36487 | |||
| e5116e1ec9 | |||
| ce472729d6 | |||
| f691f016bc | |||
| 380f92e105 | |||
| 7ab60df578 | |||
| 03822f9e74 | |||
| b760a16416 | |||
| e3567c923a | |||
| 1a1d6370f9 | |||
| a517e6997b | |||
| b63c4b9e7e | |||
| 5bb14820b6 | |||
| f09bfa7cfd | |||
| 825f424ae0 | |||
| 48ae72e0ce | |||
| 94de6380e8 | |||
| 43de87be0d | |||
| 067730379f | |||
| 32456c3110 | |||
| 12cbcd9159 | |||
| 04e25499ac | |||
| 3158620440 | |||
| c65e8c068c | |||
| cc4ffaf415 | |||
| 1a047e14b6 | |||
| daf4d8b975 | |||
| d35befdf8e | |||
| 6c9c6c9e99 | |||
| 51e5408bb6 | |||
| b967d94ece | |||
| 07d92f95cb | |||
| 075364b26a | |||
| b53c6d8c76 | |||
| 209ccdae76 | |||
| 6beac75c0f | |||
| 3fbc2bdb1c | |||
| ab92a5ba42 | |||
| 382b006210 | |||
| 022a288c97 | |||
| 9f601ea6b3 | |||
| cc474caf33 | |||
| 70369fa468 | |||
| 42d3e38daa | |||
| 1234e47f55 | |||
| c44c501cd8 | |||
| 9a27cc1e65 | |||
| 381d3fe216 | |||
| 2376baf936 | |||
| be0ce75ceb | |||
| ea41fbc664 | |||
| 5579b1dc95 | |||
| 8d5926fb2d | |||
| 03752509e7 | |||
| e7d16b2109 | |||
| 54252d10f5 | |||
| 19d8306094 | |||
| 373b354b20 | |||
| b9edf2ef93 | |||
| b4ffd65fbc | |||
| eaee05df3f | |||
| 7403657d83 | |||
| 2a7e5ef9c9 | |||
| e0cc271cf1 | |||
| 5174c71363 | |||
| af9215c849 | |||
| acd78a6067 | |||
| 5c0aef32c1 | |||
| 924465a788 | |||
| cf34457d20 | |||
| 0615a2917c | |||
| 4a3b4a1e23 | |||
| 553c348a0d | |||
| be036fe67a | |||
| 070cdc13e2 | |||
| 6ac762d415 | |||
| 40db02cce3 | |||
| cabc1d1de9 | |||
| 5e12edb251 | |||
| 42623b4583 | |||
| 5dfd8d3738 | |||
| 031bde07dd | |||
| 3f91c479f4 | |||
| 5afbe961e7 | |||
| f8e3665e14 | |||
| 01ebf690f0 | |||
| 6f743380dc | |||
| 73edce1580 | |||
| 3dbc0ee5cd | |||
| a35a797ce0 | |||
| 912a7687c3 | |||
| 16c6dffdd6 | |||
| 3b621ac497 | |||
| 271bdb9f12 | |||
| fbcf687ef9 | |||
| e4b5a7cb93 | |||
| 0832555ec0 | |||
| 13d4c74367 | |||
| a97f9cf9b4 | |||
| 1916ad49c4 | |||
| b16ae15f94 | |||
| e695c18871 | |||
| 3a1e9adab2 | |||
| c95b0849e3 | |||
| 0e9f7eb653 | |||
| 95c59b775a | |||
| 4e6d69860b | |||
| dc7ddfd527 | |||
| 1675d01dfb | |||
| 1adeaad231 | |||
| d6397d6444 | |||
| 449aaf2d3a | |||
| 97440d7a71 | |||
| d62e709c48 | |||
| a1123e89ce | |||
| bd9bfd7d0f | |||
| 49b345776f | |||
| 7bc8b46ac0 | |||
| 7e2b5e65be | |||
| c71ca6fd27 | |||
| f76eb3c1b2 | |||
| 92a8e16375 | |||
| 0cb46c9b57 | |||
| 4697f942e2 | |||
| 6ff1d92ce1 | |||
| 228ba2b2e2 | |||
| 5116cef99a | |||
| 0c6e620406 | |||
| 41b9e1b404 | |||
| 38dc13a34a | |||
| 5ec91475a4 | |||
| 6441f2aa6c | |||
| 1b137eae50 | |||
| 6a2298dff9 | |||
| 3efeea8987 | |||
| 0f5efa2036 | |||
| d67cb6b2a9 | |||
| c001943a5e | |||
| 19e618ea00 | |||
| a08cd3107f | |||
| 8cc9636fa7 | |||
| f44230df40 | |||
| c94cf2a6ec | |||
| d5a8e1eb1b | |||
| e3caab440a | |||
| 1adf6e0582 | |||
| 7f5a533827 | |||
| ee8c698d77 | |||
| deaef0b88d | |||
| 226fa90561 | |||
| 8b9a2f80b7 | |||
| 365371c5b9 | |||
| e698df0b19 | |||
| fde9f6f129 | |||
| a249631d76 | |||
| 3359d6c619 | |||
| ab1967b17f | |||
| 3de68248de | |||
| e631785c9c | |||
| 7f79f4d39d | |||
| 29cf0ead7d | |||
| 597cd4629f | |||
| 59d5b475c5 | |||
| 7bc6b673ea | |||
| 2b930f3fd7 | |||
| 0b6b14177e | |||
| a27e9bac0c | |||
| 7ea614f257 | |||
| 723a5f8281 | |||
| 98fde3de74 | |||
| 9b7dfa81da | |||
| 1a761aad4c | |||
| 9e3f729c8f | |||
| 7311664acd | |||
| b02a2d0008 | |||
| e26ac63dff | |||
| b96622f1cd | |||
| 763476e648 | |||
| c0c4cf8b56 | |||
| 575bd5b1e6 | |||
| 38a8c73311 | |||
| c3c170d07a | |||
| 0ab0aeeec6 | |||
| bf698ad7b9 | |||
| d792031c57 | |||
| eff161fb24 | |||
| 1489cb0bdb | |||
| 434abcf1ae | |||
| 581515efc4 | |||
| 79441b0bdd | |||
| 24260a057a | |||
| 6fd47f360c | |||
| be28ed8319 | |||
| 007e993148 | |||
| eb0bb8a67d | |||
| 00c7f7adaf | |||
| 0a806c1218 | |||
| d6a83c8b61 | |||
| 0647d212d6 | |||
| 840b02c2db | |||
| 2b1837e812 | |||
| 4a7af41397 | |||
| aad3a5d2a3 | |||
| 0f06fedb95 | |||
| 6ca2da3f7f | |||
| 1b5a10591b | |||
| a935c648e2 | |||
| 2ce8692d84 | |||
| 0249894386 | |||
| c2d8e16bc0 | |||
| e6c833a643 | |||
| 1e235f0cd6 | |||
| d3e293db2c | |||
| 6eb97f654c | |||
| b64fdf214e | |||
| 77519bde9d | |||
| 103a03c90f | |||
| d31013a680 | |||
| d283922741 | |||
| 60af4429eb | |||
| c67079c928 | |||
| cd1c12be12 | |||
| 1099f5ec24 | |||
| d723a1fa84 | |||
| 0bd5730128 | |||
| f11752da96 | |||
| 51601e710a | |||
| 3dfaed4409 | |||
| 571ecc5e9c | |||
| c9947d0250 | |||
| 53813020d4 | |||
| 904288e6ec | |||
| 244a1c273c | |||
| 60112e9bce | |||
| 378c064629 | |||
| 2429cbbb52 | |||
| 8099925dc2 | |||
| ae7dd5ba7e | |||
| 4c2a2fffc1 | |||
| 87e40c0723 | |||
| 1965785ff6 | |||
| 1caf6b03b4 | |||
| f1ed837610 | |||
| cddf27be45 | |||
| b9abfaa573 | |||
| ed0b03a680 | |||
| 56f02af579 | |||
| c091566a86 | |||
| 2e9d118ab9 | |||
| f85d25900b | |||
| 2ec7cc8c6d | |||
| b1ff93bb91 | |||
| ce991cd912 | |||
| b8af1794a6 | |||
| 9fcced23e4 | |||
| 54e35f0907 | |||
| 8d8de8692b | |||
| b34778952a | |||
| a082f2ae86 | |||
| 8b1cb258b4 | |||
| 58be4da5ca | |||
| 956f13c674 | |||
| 1f6f03745a | |||
| 52b26c2046 | |||
| 825c72d572 | |||
| dd11b89bb9 | |||
| 905e73fd1c | |||
| 4158573129 | |||
| b4ea8854a8 | |||
| 22628983a7 | |||
| afd88470d8 | |||
| 2e773279b7 | |||
| f91629bf21 | |||
| 47645a6346 | |||
| 52ed3c8733 | |||
| 6c249335c5 | |||
| d0f43a6760 | |||
| 9adf2a75f8 | |||
| fc5cb6796b | |||
| 690dd319cb | |||
| 541fbbb36b | |||
| 14bd059a88 | |||
| 6fc31192c2 | |||
| ec738aea22 | |||
| 92a98aba96 | |||
| f6a1901ef8 | |||
| cceb2c38e4 | |||
| 6e229b86b0 | |||
| 4d09441399 | |||
| c80a5b102d | |||
| 4f1203b32c | |||
| 1bfc6db8b4 | |||
| 54d41bfc3f | |||
| 0914b825fe | |||
| 3f23ef960b | |||
| dfc75f2a65 | |||
| f2c19ef3a3 | |||
| 14b855ada6 | |||
| d21e334e15 | |||
| ba701eb014 | |||
| 0a70ec9986 | |||
| 050d88dd13 | |||
| 1b0c97ffca | |||
| 1dadf056da | |||
| e61da323d8 | |||
| 2328f44e3a | |||
| b0b5007341 | |||
| 35b00165a2 | |||
| 659c62d4b4 | |||
| 0e001dd2d3 | |||
| 00a18352d8 | |||
| a53bdc6abf | |||
| cecd01b7d9 | |||
| 09ceab5c70 | |||
| 53ded97714 | |||
| 5a2366eb13 | |||
| 5e775e4c88 | |||
| 75b23ee904 | |||
| dbae5a3b05 | |||
| b5a05bfe21 | |||
| 71f55ef0e3 | |||
| f323eaf666 | |||
| 7ee113ddff | |||
| f61d113493 | |||
| eaadd6fc71 | |||
| 89a46ae5e1 | |||
| 7a00ba09a2 | |||
| 9eefd53fdc | |||
| 17d2e61688 | |||
| e24aa32cce | |||
| b33f7bbabd | |||
| 758b5b6db6 | |||
| 1f8bd81958 | |||
| 950a1d34ea | |||
| bcc65b8153 | |||
| a5ade02dec | |||
| 1aaae5c1da | |||
| cf62774a78 | |||
| 2fdf2b9cfc | |||
| 55463f2377 | |||
| 43d53e71c9 | |||
| 14d0e65c68 | |||
| 9799b0a263 | |||
| 519a4c1452 | |||
| 30959cfdd0 | |||
| 717c33078f | |||
| 8b877a5f1a | |||
| 427105189b | |||
| 821feae1d5 | |||
| 29c5d70171 | |||
| 5e91824c7d | |||
| 9575429296 | |||
| 22f9d20aae | |||
| 45ec219bb5 | |||
| ae0eb0fd91 | |||
| 3785426793 | |||
| d1126afc44 | |||
| f203679de4 | |||
| e2d90f6627 | |||
| 75ab228e46 | |||
| 0b7bd84af5 | |||
| 322ccee672 | |||
| 9c669c2fe6 | |||
| c69b7d14bf | |||
| ae60c8e974 | |||
| 5819d8c3f3 | |||
| a179fb9ff9 | |||
| c491a36b71 | |||
| 78ccb8aaf2 | |||
| 90fe892291 | |||
| b80bfe813c | |||
| 0dafdc527a | |||
| 1cc00b7174 | |||
| 3995e07d91 | |||
| 04220584b3 | |||
| b13203c62e | |||
| 68ef9126ed | |||
| c7a84831e9 | |||
| 633ad1f490 | |||
| 1fc6487374 | |||
| d3732306a6 | |||
| 25d4b8ab3d | |||
| e5f3e2e7b0 | |||
| 43ec3a081d | |||
| 88ccc76045 | |||
| 6a49a100e7 | |||
| 6c8a7ef989 | |||
| 6aab2d287c | |||
| d58cd204cc | |||
| be74011e5e | |||
| f6e5bdbd2f | |||
| 9a8145ff45 | |||
| 46bc17e9ac | |||
| 6fe2b6f331 | |||
| 823da76896 | |||
| 2e833136f6 | |||
| f08e7974cd | |||
| 64ee49de03 | |||
| c29289d602 | |||
| b9cd99cb6c | |||
| 6862f5667b | |||
| 30aba99c27 | |||
| a49512f750 | |||
| 89e2d10f24 | |||
| 2abb117d2e | |||
| c110e268b8 | |||
| 78c6ae3b90 | |||
| 50810c7406 | |||
| e903ec53f5 | |||
| a4546c63e3 | |||
| 50c5d044f1 | |||
| 5947716a6a | |||
| 85fec37bed | |||
| 49769d0aac | |||
| d7b73f378e | |||
| ff2763df9e | |||
| 973be40324 | |||
| 5f486b6258 | |||
| cdbee5e239 | |||
| b95f095721 | |||
| 5b1568e9a6 | |||
| 109f2ea7a4 | |||
| 0e73aa1820 | |||
| c4a9a72118 | |||
| d5f7818252 | |||
| 3f89c485e1 | |||
| c11f63f606 | |||
| 1c2a4a43d0 | |||
| adc51bab9a | |||
| dc466e61d1 | |||
| 02157d52f6 | |||
| 299a7c67f0 | |||
| 484c95e26a | |||
| 45f7ca2954 | |||
| a7c3f9ec20 | |||
| c7e4781a95 | |||
| 9a8ed301cb | |||
| 8c0767523d | |||
| 88915ca92f | |||
| 207eded4b4 | |||
| c01fc2ed86 | |||
| 3d19fec723 | |||
| 6b5c14cdd9 | |||
| 1bd3ce8809 | |||
| e6937d010f | |||
| 51de4da845 | |||
| b1c6ff9588 | |||
| 889e983cc5 | |||
| 4f6433ee0f | |||
| e04f1d9dd5 | |||
| 9673150fa1 | |||
| 32747baadf | |||
| 6629ec9dc0 | |||
| 9a91b8f306 | |||
| 78fe3923e2 | |||
| cca82fd67a | |||
| cd10fc013a | |||
| 7c6b4ef059 | |||
| 172a6d9239 | |||
| ed312cb45e | |||
| d617d2b91d | |||
| 027406ffca | |||
| 267da77a0a | |||
| e9c558eefe | |||
| 9434275e51 | |||
| cedffb03d8 | |||
| 2f9404e203 | |||
| f277121148 | |||
| 5c6a511c42 | |||
| 890904cfe8 | |||
| c98ae392eb | |||
| 6a6ab4bd78 | |||
| ab7b97b29c | |||
| 32fd3b6084 | |||
| e0947d3490 | |||
| 0adf9b31cf | |||
| aabf087f55 | |||
| bff4797ab4 | |||
| 6386cc5d88 | |||
| d92b1f1032 | |||
| 1855e27d29 | |||
| 957466b419 | |||
| 3f757e8c32 | |||
| 932146eea8 | |||
| 1c63dd5183 | |||
| bdc8384c49 | |||
| c77f8e254b | |||
| 9299e2d53f | |||
| 00118ea885 | |||
| 50dc8efafc | |||
| 2399583841 | |||
| 82ef1581dd | |||
| 2bb78fcc88 | |||
| a374d58907 | |||
| 13b820e17a | |||
| 30248dcaac | |||
| 66c9feda6e | |||
| 7cda3251eb | |||
| 0df4011a9a | |||
| bc194f8e6c | |||
| 491f8bea4c | |||
| b780a975ee | |||
| 74e58f5043 | |||
| 04bc771c6d | |||
| dc1c130fb9 | |||
| 976e36e80c | |||
| 1d4c292e06 | |||
| 602d2c4016 | |||
| fd58b10800 | |||
| 9ada9cc463 | |||
| 9ffc6e5a93 | |||
| 742f8b53bb | |||
| b2942f51e2 | |||
| b13559b172 | |||
| 37384d8b8b | |||
| fef487f698 | |||
| 33f999d139 | |||
| c880d80925 | |||
| 6a15705b51 | |||
| fb83a2eaf9 | |||
| 1743aad851 | |||
| 6df38f9c7c | |||
| 8c31236ccd | |||
| 2410ad9f23 | |||
| cd721277e7 | |||
| e497b5f9e8 | |||
| 83fac52334 | |||
| 4d2e68e4e5 | |||
| 145260bf6d | |||
| d5e24ad2bb | |||
| f4f186ff78 | |||
| 94b20a363d | |||
| e862124c68 | |||
| 8133620fcf | |||
| 1182a0cac3 | |||
| 1809721665 | |||
| e8f79f8bec | |||
| 030fb3b667 | |||
| 1dd947e573 | |||
| f35cf673e1 | |||
| 510df79f90 | |||
| 83540cf2d5 | |||
| a10e82651d | |||
| 987dfbc87f | |||
| b391252c03 | |||
| af82e4a6d4 | |||
| 37a8183176 | |||
| 3e5d27505c | |||
| e0280cc038 | |||
| ad1e3ef62a | |||
| 8e296f98d7 | |||
| 8e524a915c | |||
| 3ea3df62e9 | |||
| cb85e396f0 | |||
| a6165d56b6 | |||
| 4d352b012f | |||
| d7962fbb4e | |||
| 4a0a541fff | |||
| 67e32d31ac | |||
| 57cd396920 | |||
| 1336997ce0 | |||
| d99b6270a6 | |||
| 9caed982e3 | |||
| e13c331f0a | |||
| 3044a25adc | |||
| c797b5397b | |||
| 0c52fe8364 | |||
| 786e00e88f | |||
| e8b964d8b7 | |||
| 3f6a2d5195 | |||
| c01f81b4ad | |||
| d8bb79c533 | |||
| 2e9d95d29c | |||
| 5b4643a5ae | |||
| 8e0566c4f1 | |||
| a872547d72 | |||
| ff181761c2 | |||
| 909707214f | |||
| 1ba3647b6b | |||
| 586786fd18 | |||
| c4258ca96c | |||
| 037e890d0d | |||
| 961c936f92 | |||
| f8292e8daa | |||
| 06281321d0 | |||
| 09a9e98937 | |||
| b4bad71813 | |||
| 5ddf4f6ddf | |||
| 79224bdca3 | |||
| 10943e0d7d | |||
| 031539bd31 | |||
| be7a077367 | |||
| e116b891a8 | |||
| 4310721640 | |||
| 2888091b47 | |||
| 600314e419 | |||
| 768bd88982 | |||
| 7ee05282dd | |||
| 417c3fcf8b | |||
| 76ac0ad3ff | |||
| 170042620a | |||
| 529777360b | |||
| f5d48ebcd3 | |||
| ad0eb208ea | |||
| babc65217c | |||
| 5a79fac6b1 | |||
| bc0afd2bd5 | |||
| 3fb4d631ac | |||
| 83a2fa86d9 | |||
| 1f80084377 | |||
| 69e0cfe97a | |||
| 85f16e749a | |||
| a3bbdc421f | |||
| b431670255 | |||
| 0b28257f2f | |||
| 6f7b1ac223 | |||
| db2636946e | |||
| 2fa54347ea | |||
| 538df6000c | |||
| 509c9cb21c | |||
| 711658fe38 | |||
| ffa6bb5653 | |||
| 44a16ef4fe | |||
| 081958db59 | |||
| 83ec6f4da2 | |||
| 6ff797c1cc | |||
| d04247094a |
@@ -0,0 +1,700 @@
|
|||||||
|
# DH Core
|
||||||
|
|
||||||
|
# Note: please keep this and the main .editorconfig in sync
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = crlf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = false
|
||||||
|
max_line_length = 1000
|
||||||
|
tab_width = 4
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
ij_continuation_indent_size = 8
|
||||||
|
ij_formatter_off_tag = @formatter:off
|
||||||
|
ij_formatter_on_tag = @formatter:on
|
||||||
|
ij_formatter_tags_enabled = true
|
||||||
|
ij_smart_tabs = false
|
||||||
|
ij_visual_guides = none
|
||||||
|
ij_wrap_on_typing = false
|
||||||
|
|
||||||
|
[*.java]
|
||||||
|
indent_style = tab
|
||||||
|
ij_smart_tabs = true
|
||||||
|
ij_java_align_consecutive_assignments = false
|
||||||
|
ij_java_align_consecutive_variable_declarations = false
|
||||||
|
ij_java_align_group_field_declarations = false
|
||||||
|
ij_java_align_multiline_annotation_parameters = false
|
||||||
|
ij_java_align_multiline_array_initializer_expression = false
|
||||||
|
ij_java_align_multiline_assignment = false
|
||||||
|
ij_java_align_multiline_binary_operation = false
|
||||||
|
ij_java_align_multiline_chained_methods = false
|
||||||
|
ij_java_align_multiline_deconstruction_list_components = false
|
||||||
|
ij_java_align_multiline_extends_list = false
|
||||||
|
ij_java_align_multiline_for = false
|
||||||
|
ij_java_align_multiline_method_parentheses = false
|
||||||
|
ij_java_align_multiline_parameters = false
|
||||||
|
ij_java_align_multiline_parameters_in_calls = false
|
||||||
|
ij_java_align_multiline_parenthesized_expression = false
|
||||||
|
ij_java_align_multiline_records = false
|
||||||
|
ij_java_align_multiline_resources = false
|
||||||
|
ij_java_align_multiline_ternary_operation = false
|
||||||
|
ij_java_align_multiline_text_blocks = false
|
||||||
|
ij_java_align_multiline_throws_list = false
|
||||||
|
ij_java_align_subsequent_simple_methods = false
|
||||||
|
ij_java_align_throws_keyword = false
|
||||||
|
ij_java_align_types_in_multi_catch = false
|
||||||
|
ij_java_annotation_parameter_wrap = off
|
||||||
|
ij_java_array_initializer_new_line_after_left_brace = false
|
||||||
|
ij_java_array_initializer_right_brace_on_new_line = false
|
||||||
|
ij_java_array_initializer_wrap = normal
|
||||||
|
ij_java_assert_statement_colon_on_next_line = false
|
||||||
|
ij_java_assert_statement_wrap = off
|
||||||
|
ij_java_assignment_wrap = off
|
||||||
|
ij_java_binary_operation_sign_on_next_line = false
|
||||||
|
ij_java_binary_operation_wrap = off
|
||||||
|
ij_java_blank_lines_after_anonymous_class_header = 0
|
||||||
|
ij_java_blank_lines_after_class_header = 0
|
||||||
|
ij_java_blank_lines_after_imports = 1
|
||||||
|
ij_java_blank_lines_after_package = 1
|
||||||
|
ij_java_blank_lines_around_class = 1
|
||||||
|
ij_java_blank_lines_around_field = 0
|
||||||
|
ij_java_blank_lines_around_field_in_interface = 0
|
||||||
|
ij_java_blank_lines_around_initializer = 0
|
||||||
|
ij_java_blank_lines_around_method = 0
|
||||||
|
ij_java_blank_lines_around_method_in_interface = 0
|
||||||
|
ij_java_blank_lines_before_class_end = 1
|
||||||
|
ij_java_blank_lines_before_imports = 1
|
||||||
|
ij_java_blank_lines_before_method_body = 0
|
||||||
|
ij_java_blank_lines_before_package = 1
|
||||||
|
ij_java_block_brace_style = next_line
|
||||||
|
ij_java_block_comment_add_space = false
|
||||||
|
ij_java_block_comment_at_first_column = true
|
||||||
|
ij_java_builder_methods = none
|
||||||
|
ij_java_call_parameters_new_line_after_left_paren = false
|
||||||
|
ij_java_call_parameters_right_paren_on_new_line = false
|
||||||
|
ij_java_call_parameters_wrap = normal
|
||||||
|
ij_java_case_statement_on_separate_line = true
|
||||||
|
ij_java_catch_on_new_line = true
|
||||||
|
ij_java_class_annotation_wrap = off
|
||||||
|
ij_java_class_brace_style = next_line
|
||||||
|
ij_java_class_count_to_use_import_on_demand = 5
|
||||||
|
ij_java_class_names_in_javadoc = 1
|
||||||
|
ij_java_deconstruction_list_wrap = normal
|
||||||
|
ij_java_do_not_indent_top_level_class_members = false
|
||||||
|
ij_java_do_not_wrap_after_single_annotation = false
|
||||||
|
ij_java_do_not_wrap_after_single_annotation_in_parameter = false
|
||||||
|
ij_java_do_while_brace_force = never
|
||||||
|
ij_java_doc_add_blank_line_after_description = true
|
||||||
|
ij_java_doc_add_blank_line_after_param_comments = false
|
||||||
|
ij_java_doc_add_blank_line_after_return = false
|
||||||
|
ij_java_doc_add_p_tag_on_empty_lines = false
|
||||||
|
ij_java_doc_align_exception_comments = false
|
||||||
|
ij_java_doc_align_param_comments = false
|
||||||
|
ij_java_doc_do_not_wrap_if_one_line = true
|
||||||
|
ij_java_doc_enable_formatting = true
|
||||||
|
ij_java_doc_enable_leading_asterisks = true
|
||||||
|
ij_java_doc_indent_on_continuation = false
|
||||||
|
ij_java_doc_keep_empty_lines = true
|
||||||
|
ij_java_doc_keep_empty_parameter_tag = true
|
||||||
|
ij_java_doc_keep_empty_return_tag = false
|
||||||
|
ij_java_doc_keep_empty_throws_tag = true
|
||||||
|
ij_java_doc_keep_invalid_tags = true
|
||||||
|
ij_java_doc_param_description_on_new_line = false
|
||||||
|
ij_java_doc_preserve_line_breaks = false
|
||||||
|
ij_java_doc_use_throws_not_exception_tag = true
|
||||||
|
ij_java_else_on_new_line = true
|
||||||
|
ij_java_enum_constants_wrap = off
|
||||||
|
ij_java_extends_keyword_wrap = normal
|
||||||
|
ij_java_extends_list_wrap = normal
|
||||||
|
ij_java_field_annotation_wrap = off
|
||||||
|
ij_java_finally_on_new_line = true
|
||||||
|
ij_java_for_brace_force = always
|
||||||
|
ij_java_for_statement_new_line_after_left_paren = false
|
||||||
|
ij_java_for_statement_right_paren_on_new_line = false
|
||||||
|
ij_java_for_statement_wrap = off
|
||||||
|
ij_java_generate_final_locals = false
|
||||||
|
ij_java_generate_final_parameters = false
|
||||||
|
ij_java_if_brace_force = never
|
||||||
|
ij_java_imports_layout = *,|,javax.**,java.**,|,$*
|
||||||
|
ij_java_indent_case_from_switch = true
|
||||||
|
ij_java_insert_inner_class_imports = false
|
||||||
|
ij_java_insert_override_annotation = true
|
||||||
|
ij_java_keep_blank_lines_before_right_brace = 10
|
||||||
|
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
|
||||||
|
ij_java_keep_blank_lines_in_code = 10
|
||||||
|
ij_java_keep_blank_lines_in_declarations = 10
|
||||||
|
ij_java_keep_builder_methods_indents = false
|
||||||
|
ij_java_keep_control_statement_in_one_line = true
|
||||||
|
ij_java_keep_first_column_comment = true
|
||||||
|
ij_java_keep_indents_on_empty_lines = true
|
||||||
|
ij_java_keep_line_breaks = true
|
||||||
|
ij_java_keep_multiple_expressions_in_one_line = true
|
||||||
|
ij_java_keep_simple_blocks_in_one_line = false
|
||||||
|
ij_java_keep_simple_classes_in_one_line = true
|
||||||
|
ij_java_keep_simple_lambdas_in_one_line = true
|
||||||
|
ij_java_keep_simple_methods_in_one_line = true
|
||||||
|
ij_java_label_indent_absolute = false
|
||||||
|
ij_java_label_indent_size = 0
|
||||||
|
ij_java_lambda_brace_style = end_of_line
|
||||||
|
ij_java_layout_static_imports_separately = true
|
||||||
|
ij_java_line_comment_add_space = false
|
||||||
|
ij_java_line_comment_add_space_on_reformat = false
|
||||||
|
ij_java_line_comment_at_first_column = false
|
||||||
|
ij_java_method_annotation_wrap = off
|
||||||
|
ij_java_method_brace_style = next_line
|
||||||
|
ij_java_method_call_chain_wrap = normal
|
||||||
|
ij_java_method_parameters_new_line_after_left_paren = true
|
||||||
|
ij_java_method_parameters_right_paren_on_new_line = false
|
||||||
|
ij_java_method_parameters_wrap = normal
|
||||||
|
ij_java_modifier_list_wrap = false
|
||||||
|
ij_java_multi_catch_types_wrap = normal
|
||||||
|
ij_java_names_count_to_use_import_on_demand = 3
|
||||||
|
ij_java_new_line_after_lparen_in_annotation = false
|
||||||
|
ij_java_new_line_after_lparen_in_deconstruction_pattern = true
|
||||||
|
ij_java_new_line_after_lparen_in_record_header = false
|
||||||
|
ij_java_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
|
||||||
|
ij_java_parameter_annotation_wrap = off
|
||||||
|
ij_java_parentheses_expression_new_line_after_left_paren = false
|
||||||
|
ij_java_parentheses_expression_right_paren_on_new_line = false
|
||||||
|
ij_java_place_assignment_sign_on_next_line = false
|
||||||
|
ij_java_prefer_longer_names = true
|
||||||
|
ij_java_prefer_parameters_wrap = false
|
||||||
|
ij_java_record_components_wrap = normal
|
||||||
|
ij_java_repeat_synchronized = true
|
||||||
|
ij_java_replace_instanceof_and_cast = false
|
||||||
|
ij_java_replace_null_check = false
|
||||||
|
ij_java_replace_sum_lambda_with_method_ref = false
|
||||||
|
ij_java_resource_list_new_line_after_left_paren = false
|
||||||
|
ij_java_resource_list_right_paren_on_new_line = false
|
||||||
|
ij_java_resource_list_wrap = on_every_item
|
||||||
|
ij_java_rparen_on_new_line_in_annotation = false
|
||||||
|
ij_java_rparen_on_new_line_in_deconstruction_pattern = true
|
||||||
|
ij_java_rparen_on_new_line_in_record_header = false
|
||||||
|
ij_java_space_after_closing_angle_bracket_in_type_argument = false
|
||||||
|
ij_java_space_after_colon = true
|
||||||
|
ij_java_space_after_comma = true
|
||||||
|
ij_java_space_after_comma_in_type_arguments = true
|
||||||
|
ij_java_space_after_for_semicolon = true
|
||||||
|
ij_java_space_after_quest = true
|
||||||
|
ij_java_space_after_type_cast = true
|
||||||
|
ij_java_space_before_annotation_array_initializer_left_brace = false
|
||||||
|
ij_java_space_before_annotation_parameter_list = false
|
||||||
|
ij_java_space_before_array_initializer_left_brace = false
|
||||||
|
ij_java_space_before_catch_keyword = true
|
||||||
|
ij_java_space_before_catch_left_brace = true
|
||||||
|
ij_java_space_before_catch_parentheses = true
|
||||||
|
ij_java_space_before_class_left_brace = true
|
||||||
|
ij_java_space_before_colon = true
|
||||||
|
ij_java_space_before_colon_in_foreach = true
|
||||||
|
ij_java_space_before_comma = false
|
||||||
|
ij_java_space_before_deconstruction_list = false
|
||||||
|
ij_java_space_before_do_left_brace = true
|
||||||
|
ij_java_space_before_else_keyword = true
|
||||||
|
ij_java_space_before_else_left_brace = true
|
||||||
|
ij_java_space_before_finally_keyword = true
|
||||||
|
ij_java_space_before_finally_left_brace = true
|
||||||
|
ij_java_space_before_for_left_brace = true
|
||||||
|
ij_java_space_before_for_parentheses = true
|
||||||
|
ij_java_space_before_for_semicolon = false
|
||||||
|
ij_java_space_before_if_left_brace = true
|
||||||
|
ij_java_space_before_if_parentheses = true
|
||||||
|
ij_java_space_before_method_call_parentheses = false
|
||||||
|
ij_java_space_before_method_left_brace = true
|
||||||
|
ij_java_space_before_method_parentheses = false
|
||||||
|
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
|
||||||
|
ij_java_space_before_quest = true
|
||||||
|
ij_java_space_before_switch_left_brace = true
|
||||||
|
ij_java_space_before_switch_parentheses = true
|
||||||
|
ij_java_space_before_synchronized_left_brace = false
|
||||||
|
ij_java_space_before_synchronized_parentheses = true
|
||||||
|
ij_java_space_before_try_left_brace = true
|
||||||
|
ij_java_space_before_try_parentheses = true
|
||||||
|
ij_java_space_before_type_parameter_list = false
|
||||||
|
ij_java_space_before_while_keyword = true
|
||||||
|
ij_java_space_before_while_left_brace = true
|
||||||
|
ij_java_space_before_while_parentheses = true
|
||||||
|
ij_java_space_inside_one_line_enum_braces = false
|
||||||
|
ij_java_space_within_empty_array_initializer_braces = true
|
||||||
|
ij_java_space_within_empty_method_call_parentheses = false
|
||||||
|
ij_java_space_within_empty_method_parentheses = false
|
||||||
|
ij_java_spaces_around_additive_operators = true
|
||||||
|
ij_java_spaces_around_annotation_eq = true
|
||||||
|
ij_java_spaces_around_assignment_operators = true
|
||||||
|
ij_java_spaces_around_bitwise_operators = true
|
||||||
|
ij_java_spaces_around_equality_operators = true
|
||||||
|
ij_java_spaces_around_lambda_arrow = true
|
||||||
|
ij_java_spaces_around_logical_operators = true
|
||||||
|
ij_java_spaces_around_method_ref_dbl_colon = false
|
||||||
|
ij_java_spaces_around_multiplicative_operators = true
|
||||||
|
ij_java_spaces_around_relational_operators = true
|
||||||
|
ij_java_spaces_around_shift_operators = true
|
||||||
|
ij_java_spaces_around_type_bounds_in_type_parameters = true
|
||||||
|
ij_java_spaces_around_unary_operator = false
|
||||||
|
ij_java_spaces_within_angle_brackets = false
|
||||||
|
ij_java_spaces_within_annotation_parentheses = false
|
||||||
|
ij_java_spaces_within_array_initializer_braces = false
|
||||||
|
ij_java_spaces_within_braces = true
|
||||||
|
ij_java_spaces_within_brackets = false
|
||||||
|
ij_java_spaces_within_cast_parentheses = false
|
||||||
|
ij_java_spaces_within_catch_parentheses = false
|
||||||
|
ij_java_spaces_within_deconstruction_list = false
|
||||||
|
ij_java_spaces_within_for_parentheses = false
|
||||||
|
ij_java_spaces_within_if_parentheses = false
|
||||||
|
ij_java_spaces_within_method_call_parentheses = false
|
||||||
|
ij_java_spaces_within_method_parentheses = false
|
||||||
|
ij_java_spaces_within_parentheses = false
|
||||||
|
ij_java_spaces_within_record_header = false
|
||||||
|
ij_java_spaces_within_switch_parentheses = false
|
||||||
|
ij_java_spaces_within_synchronized_parentheses = false
|
||||||
|
ij_java_spaces_within_try_parentheses = false
|
||||||
|
ij_java_spaces_within_while_parentheses = false
|
||||||
|
ij_java_special_else_if_treatment = true
|
||||||
|
ij_java_subclass_name_suffix = Impl
|
||||||
|
ij_java_ternary_operation_signs_on_next_line = false
|
||||||
|
ij_java_ternary_operation_wrap = on_every_item
|
||||||
|
ij_java_test_name_suffix = Test
|
||||||
|
ij_java_throws_keyword_wrap = normal
|
||||||
|
ij_java_throws_list_wrap = normal
|
||||||
|
ij_java_use_external_annotations = false
|
||||||
|
ij_java_use_fq_class_names = false
|
||||||
|
ij_java_use_relative_indents = false
|
||||||
|
ij_java_use_single_class_imports = true
|
||||||
|
ij_java_variable_annotation_wrap = off
|
||||||
|
ij_java_visibility = public
|
||||||
|
ij_java_while_brace_force = always
|
||||||
|
ij_java_while_on_new_line = true
|
||||||
|
ij_java_wrap_comments = false
|
||||||
|
ij_java_wrap_first_method_in_call_chain = false
|
||||||
|
ij_java_wrap_long_lines = false
|
||||||
|
|
||||||
|
[*.nbtt]
|
||||||
|
indent_style = tab
|
||||||
|
max_line_length = 150
|
||||||
|
ij_continuation_indent_size = 4
|
||||||
|
ij_nbtt_keep_indents_on_empty_lines = false
|
||||||
|
ij_nbtt_space_after_colon = true
|
||||||
|
ij_nbtt_space_after_comma = true
|
||||||
|
ij_nbtt_space_before_colon = true
|
||||||
|
ij_nbtt_space_before_comma = false
|
||||||
|
ij_nbtt_spaces_within_brackets = false
|
||||||
|
ij_nbtt_spaces_within_parentheses = false
|
||||||
|
|
||||||
|
[*.properties]
|
||||||
|
ij_properties_align_group_field_declarations = false
|
||||||
|
ij_properties_keep_blank_lines = false
|
||||||
|
ij_properties_key_value_delimiter = equals
|
||||||
|
ij_properties_spaces_around_key_value_delimiter = false
|
||||||
|
|
||||||
|
[.editorconfig]
|
||||||
|
ij_editorconfig_align_group_field_declarations = false
|
||||||
|
ij_editorconfig_space_after_colon = false
|
||||||
|
ij_editorconfig_space_after_comma = true
|
||||||
|
ij_editorconfig_space_before_colon = false
|
||||||
|
ij_editorconfig_space_before_comma = false
|
||||||
|
ij_editorconfig_spaces_around_assignment_operators = true
|
||||||
|
|
||||||
|
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.jspx,*.pom,*.rng,*.tagx,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
|
||||||
|
ij_xml_align_attributes = true
|
||||||
|
ij_xml_align_text = false
|
||||||
|
ij_xml_attribute_wrap = normal
|
||||||
|
ij_xml_block_comment_add_space = false
|
||||||
|
ij_xml_block_comment_at_first_column = true
|
||||||
|
ij_xml_keep_blank_lines = 2
|
||||||
|
ij_xml_keep_indents_on_empty_lines = false
|
||||||
|
ij_xml_keep_line_breaks = true
|
||||||
|
ij_xml_keep_line_breaks_in_text = true
|
||||||
|
ij_xml_keep_whitespaces = false
|
||||||
|
ij_xml_keep_whitespaces_around_cdata = preserve
|
||||||
|
ij_xml_keep_whitespaces_inside_cdata = false
|
||||||
|
ij_xml_line_comment_at_first_column = true
|
||||||
|
ij_xml_space_after_tag_name = false
|
||||||
|
ij_xml_space_around_equals_in_attribute = false
|
||||||
|
ij_xml_space_inside_empty_tag = false
|
||||||
|
ij_xml_text_wrap = normal
|
||||||
|
ij_xml_use_custom_settings = false
|
||||||
|
|
||||||
|
[{*.bash,*.sh,*.zsh}]
|
||||||
|
indent_size = 4
|
||||||
|
tab_width = 4
|
||||||
|
ij_shell_binary_ops_start_line = false
|
||||||
|
ij_shell_keep_column_alignment_padding = false
|
||||||
|
ij_shell_minify_program = false
|
||||||
|
ij_shell_redirect_followed_by_space = false
|
||||||
|
ij_shell_switch_cases_indented = false
|
||||||
|
ij_shell_use_unix_line_separator = true
|
||||||
|
|
||||||
|
[{*.comp,*.frag,*.fsh,*.geom,*.glsl,*.gsh,*.tesc,*.tese,*.vert,*.vsh}]
|
||||||
|
ij_glsl_space_after_colon = true
|
||||||
|
ij_glsl_space_after_comma = true
|
||||||
|
ij_glsl_space_after_for_semicolon = true
|
||||||
|
ij_glsl_space_after_quest = true
|
||||||
|
ij_glsl_space_before_colon = false
|
||||||
|
ij_glsl_space_before_comma = false
|
||||||
|
ij_glsl_space_before_for_semicolon = false
|
||||||
|
ij_glsl_space_before_quest = true
|
||||||
|
ij_glsl_spaces_around_additive_operators = true
|
||||||
|
ij_glsl_spaces_around_assignment_operators = true
|
||||||
|
ij_glsl_spaces_around_bitwise_operators = true
|
||||||
|
ij_glsl_spaces_around_equality_operators = true
|
||||||
|
ij_glsl_spaces_around_logical_operators = true
|
||||||
|
ij_glsl_spaces_around_multiplicative_operators = true
|
||||||
|
ij_glsl_spaces_around_relational_operators = true
|
||||||
|
ij_glsl_spaces_around_shift_operators = true
|
||||||
|
ij_glsl_spaces_within_brackets = false
|
||||||
|
ij_glsl_spaces_within_parentheses = false
|
||||||
|
|
||||||
|
[{*.gant,*.groovy,*.gy}]
|
||||||
|
ij_groovy_align_group_field_declarations = false
|
||||||
|
ij_groovy_align_multiline_array_initializer_expression = false
|
||||||
|
ij_groovy_align_multiline_assignment = false
|
||||||
|
ij_groovy_align_multiline_binary_operation = false
|
||||||
|
ij_groovy_align_multiline_chained_methods = false
|
||||||
|
ij_groovy_align_multiline_extends_list = false
|
||||||
|
ij_groovy_align_multiline_for = true
|
||||||
|
ij_groovy_align_multiline_list_or_map = true
|
||||||
|
ij_groovy_align_multiline_method_parentheses = false
|
||||||
|
ij_groovy_align_multiline_parameters = true
|
||||||
|
ij_groovy_align_multiline_parameters_in_calls = false
|
||||||
|
ij_groovy_align_multiline_resources = true
|
||||||
|
ij_groovy_align_multiline_ternary_operation = false
|
||||||
|
ij_groovy_align_multiline_throws_list = false
|
||||||
|
ij_groovy_align_named_args_in_map = true
|
||||||
|
ij_groovy_align_throws_keyword = false
|
||||||
|
ij_groovy_array_initializer_new_line_after_left_brace = false
|
||||||
|
ij_groovy_array_initializer_right_brace_on_new_line = false
|
||||||
|
ij_groovy_array_initializer_wrap = off
|
||||||
|
ij_groovy_assert_statement_wrap = off
|
||||||
|
ij_groovy_assignment_wrap = off
|
||||||
|
ij_groovy_binary_operation_wrap = off
|
||||||
|
ij_groovy_blank_lines_after_class_header = 0
|
||||||
|
ij_groovy_blank_lines_after_imports = 1
|
||||||
|
ij_groovy_blank_lines_after_package = 1
|
||||||
|
ij_groovy_blank_lines_around_class = 1
|
||||||
|
ij_groovy_blank_lines_around_field = 0
|
||||||
|
ij_groovy_blank_lines_around_field_in_interface = 0
|
||||||
|
ij_groovy_blank_lines_around_method = 1
|
||||||
|
ij_groovy_blank_lines_around_method_in_interface = 1
|
||||||
|
ij_groovy_blank_lines_before_imports = 1
|
||||||
|
ij_groovy_blank_lines_before_method_body = 0
|
||||||
|
ij_groovy_blank_lines_before_package = 0
|
||||||
|
ij_groovy_block_brace_style = end_of_line
|
||||||
|
ij_groovy_block_comment_add_space = false
|
||||||
|
ij_groovy_block_comment_at_first_column = true
|
||||||
|
ij_groovy_call_parameters_new_line_after_left_paren = false
|
||||||
|
ij_groovy_call_parameters_right_paren_on_new_line = false
|
||||||
|
ij_groovy_call_parameters_wrap = off
|
||||||
|
ij_groovy_catch_on_new_line = false
|
||||||
|
ij_groovy_class_annotation_wrap = split_into_lines
|
||||||
|
ij_groovy_class_brace_style = end_of_line
|
||||||
|
ij_groovy_class_count_to_use_import_on_demand = 5
|
||||||
|
ij_groovy_do_while_brace_force = never
|
||||||
|
ij_groovy_else_on_new_line = false
|
||||||
|
ij_groovy_enable_groovydoc_formatting = true
|
||||||
|
ij_groovy_enum_constants_wrap = off
|
||||||
|
ij_groovy_extends_keyword_wrap = off
|
||||||
|
ij_groovy_extends_list_wrap = off
|
||||||
|
ij_groovy_field_annotation_wrap = split_into_lines
|
||||||
|
ij_groovy_finally_on_new_line = false
|
||||||
|
ij_groovy_for_brace_force = never
|
||||||
|
ij_groovy_for_statement_new_line_after_left_paren = false
|
||||||
|
ij_groovy_for_statement_right_paren_on_new_line = false
|
||||||
|
ij_groovy_for_statement_wrap = off
|
||||||
|
ij_groovy_ginq_general_clause_wrap_policy = 2
|
||||||
|
ij_groovy_ginq_having_wrap_policy = 1
|
||||||
|
ij_groovy_ginq_indent_having_clause = true
|
||||||
|
ij_groovy_ginq_indent_on_clause = true
|
||||||
|
ij_groovy_ginq_on_wrap_policy = 1
|
||||||
|
ij_groovy_ginq_space_after_keyword = true
|
||||||
|
ij_groovy_if_brace_force = never
|
||||||
|
ij_groovy_import_annotation_wrap = 2
|
||||||
|
ij_groovy_imports_layout = *,|,javax.**,java.**,|,$*
|
||||||
|
ij_groovy_indent_case_from_switch = true
|
||||||
|
ij_groovy_indent_label_blocks = true
|
||||||
|
ij_groovy_insert_inner_class_imports = false
|
||||||
|
ij_groovy_keep_blank_lines_before_right_brace = 2
|
||||||
|
ij_groovy_keep_blank_lines_in_code = 2
|
||||||
|
ij_groovy_keep_blank_lines_in_declarations = 2
|
||||||
|
ij_groovy_keep_control_statement_in_one_line = true
|
||||||
|
ij_groovy_keep_first_column_comment = true
|
||||||
|
ij_groovy_keep_indents_on_empty_lines = false
|
||||||
|
ij_groovy_keep_line_breaks = true
|
||||||
|
ij_groovy_keep_multiple_expressions_in_one_line = false
|
||||||
|
ij_groovy_keep_simple_blocks_in_one_line = false
|
||||||
|
ij_groovy_keep_simple_classes_in_one_line = true
|
||||||
|
ij_groovy_keep_simple_lambdas_in_one_line = true
|
||||||
|
ij_groovy_keep_simple_methods_in_one_line = true
|
||||||
|
ij_groovy_label_indent_absolute = false
|
||||||
|
ij_groovy_label_indent_size = 0
|
||||||
|
ij_groovy_lambda_brace_style = end_of_line
|
||||||
|
ij_groovy_layout_static_imports_separately = true
|
||||||
|
ij_groovy_line_comment_add_space = false
|
||||||
|
ij_groovy_line_comment_add_space_on_reformat = false
|
||||||
|
ij_groovy_line_comment_at_first_column = true
|
||||||
|
ij_groovy_method_annotation_wrap = split_into_lines
|
||||||
|
ij_groovy_method_brace_style = end_of_line
|
||||||
|
ij_groovy_method_call_chain_wrap = off
|
||||||
|
ij_groovy_method_parameters_new_line_after_left_paren = false
|
||||||
|
ij_groovy_method_parameters_right_paren_on_new_line = false
|
||||||
|
ij_groovy_method_parameters_wrap = off
|
||||||
|
ij_groovy_modifier_list_wrap = false
|
||||||
|
ij_groovy_names_count_to_use_import_on_demand = 3
|
||||||
|
ij_groovy_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
|
||||||
|
ij_groovy_parameter_annotation_wrap = off
|
||||||
|
ij_groovy_parentheses_expression_new_line_after_left_paren = false
|
||||||
|
ij_groovy_parentheses_expression_right_paren_on_new_line = false
|
||||||
|
ij_groovy_prefer_parameters_wrap = false
|
||||||
|
ij_groovy_resource_list_new_line_after_left_paren = false
|
||||||
|
ij_groovy_resource_list_right_paren_on_new_line = false
|
||||||
|
ij_groovy_resource_list_wrap = off
|
||||||
|
ij_groovy_space_after_assert_separator = true
|
||||||
|
ij_groovy_space_after_colon = true
|
||||||
|
ij_groovy_space_after_comma = true
|
||||||
|
ij_groovy_space_after_comma_in_type_arguments = true
|
||||||
|
ij_groovy_space_after_for_semicolon = true
|
||||||
|
ij_groovy_space_after_quest = true
|
||||||
|
ij_groovy_space_after_type_cast = true
|
||||||
|
ij_groovy_space_before_annotation_parameter_list = false
|
||||||
|
ij_groovy_space_before_array_initializer_left_brace = false
|
||||||
|
ij_groovy_space_before_assert_separator = false
|
||||||
|
ij_groovy_space_before_catch_keyword = true
|
||||||
|
ij_groovy_space_before_catch_left_brace = true
|
||||||
|
ij_groovy_space_before_catch_parentheses = true
|
||||||
|
ij_groovy_space_before_class_left_brace = true
|
||||||
|
ij_groovy_space_before_closure_left_brace = true
|
||||||
|
ij_groovy_space_before_colon = true
|
||||||
|
ij_groovy_space_before_comma = false
|
||||||
|
ij_groovy_space_before_do_left_brace = true
|
||||||
|
ij_groovy_space_before_else_keyword = true
|
||||||
|
ij_groovy_space_before_else_left_brace = true
|
||||||
|
ij_groovy_space_before_finally_keyword = true
|
||||||
|
ij_groovy_space_before_finally_left_brace = true
|
||||||
|
ij_groovy_space_before_for_left_brace = true
|
||||||
|
ij_groovy_space_before_for_parentheses = true
|
||||||
|
ij_groovy_space_before_for_semicolon = false
|
||||||
|
ij_groovy_space_before_if_left_brace = true
|
||||||
|
ij_groovy_space_before_if_parentheses = true
|
||||||
|
ij_groovy_space_before_method_call_parentheses = false
|
||||||
|
ij_groovy_space_before_method_left_brace = true
|
||||||
|
ij_groovy_space_before_method_parentheses = false
|
||||||
|
ij_groovy_space_before_quest = true
|
||||||
|
ij_groovy_space_before_record_parentheses = false
|
||||||
|
ij_groovy_space_before_switch_left_brace = true
|
||||||
|
ij_groovy_space_before_switch_parentheses = true
|
||||||
|
ij_groovy_space_before_synchronized_left_brace = true
|
||||||
|
ij_groovy_space_before_synchronized_parentheses = true
|
||||||
|
ij_groovy_space_before_try_left_brace = true
|
||||||
|
ij_groovy_space_before_try_parentheses = true
|
||||||
|
ij_groovy_space_before_while_keyword = true
|
||||||
|
ij_groovy_space_before_while_left_brace = true
|
||||||
|
ij_groovy_space_before_while_parentheses = true
|
||||||
|
ij_groovy_space_in_named_argument = true
|
||||||
|
ij_groovy_space_in_named_argument_before_colon = false
|
||||||
|
ij_groovy_space_within_empty_array_initializer_braces = false
|
||||||
|
ij_groovy_space_within_empty_method_call_parentheses = false
|
||||||
|
ij_groovy_spaces_around_additive_operators = true
|
||||||
|
ij_groovy_spaces_around_assignment_operators = true
|
||||||
|
ij_groovy_spaces_around_bitwise_operators = true
|
||||||
|
ij_groovy_spaces_around_equality_operators = true
|
||||||
|
ij_groovy_spaces_around_lambda_arrow = true
|
||||||
|
ij_groovy_spaces_around_logical_operators = true
|
||||||
|
ij_groovy_spaces_around_multiplicative_operators = true
|
||||||
|
ij_groovy_spaces_around_regex_operators = true
|
||||||
|
ij_groovy_spaces_around_relational_operators = true
|
||||||
|
ij_groovy_spaces_around_shift_operators = true
|
||||||
|
ij_groovy_spaces_within_annotation_parentheses = false
|
||||||
|
ij_groovy_spaces_within_array_initializer_braces = false
|
||||||
|
ij_groovy_spaces_within_braces = true
|
||||||
|
ij_groovy_spaces_within_brackets = false
|
||||||
|
ij_groovy_spaces_within_cast_parentheses = false
|
||||||
|
ij_groovy_spaces_within_catch_parentheses = false
|
||||||
|
ij_groovy_spaces_within_for_parentheses = false
|
||||||
|
ij_groovy_spaces_within_gstring_injection_braces = false
|
||||||
|
ij_groovy_spaces_within_if_parentheses = false
|
||||||
|
ij_groovy_spaces_within_list_or_map = false
|
||||||
|
ij_groovy_spaces_within_method_call_parentheses = false
|
||||||
|
ij_groovy_spaces_within_method_parentheses = false
|
||||||
|
ij_groovy_spaces_within_parentheses = false
|
||||||
|
ij_groovy_spaces_within_switch_parentheses = false
|
||||||
|
ij_groovy_spaces_within_synchronized_parentheses = false
|
||||||
|
ij_groovy_spaces_within_try_parentheses = false
|
||||||
|
ij_groovy_spaces_within_tuple_expression = false
|
||||||
|
ij_groovy_spaces_within_while_parentheses = false
|
||||||
|
ij_groovy_special_else_if_treatment = true
|
||||||
|
ij_groovy_ternary_operation_wrap = off
|
||||||
|
ij_groovy_throws_keyword_wrap = off
|
||||||
|
ij_groovy_throws_list_wrap = off
|
||||||
|
ij_groovy_use_flying_geese_braces = false
|
||||||
|
ij_groovy_use_fq_class_names = false
|
||||||
|
ij_groovy_use_fq_class_names_in_javadoc = true
|
||||||
|
ij_groovy_use_relative_indents = false
|
||||||
|
ij_groovy_use_single_class_imports = true
|
||||||
|
ij_groovy_variable_annotation_wrap = off
|
||||||
|
ij_groovy_while_brace_force = never
|
||||||
|
ij_groovy_while_on_new_line = false
|
||||||
|
ij_groovy_wrap_chain_calls_after_dot = false
|
||||||
|
ij_groovy_wrap_long_lines = false
|
||||||
|
|
||||||
|
[{*.har,*.json,*.png.mcmeta,mcmod.info,pack.mcmeta}]
|
||||||
|
indent_size = 4
|
||||||
|
ij_json_array_wrapping = split_into_lines
|
||||||
|
ij_json_keep_blank_lines_in_code = 0
|
||||||
|
ij_json_keep_indents_on_empty_lines = false
|
||||||
|
ij_json_keep_line_breaks = true
|
||||||
|
ij_json_keep_trailing_comma = false
|
||||||
|
ij_json_object_wrapping = split_into_lines
|
||||||
|
ij_json_property_alignment = do_not_align
|
||||||
|
ij_json_space_after_colon = true
|
||||||
|
ij_json_space_after_comma = true
|
||||||
|
ij_json_space_before_colon = false
|
||||||
|
ij_json_space_before_comma = false
|
||||||
|
ij_json_spaces_within_braces = false
|
||||||
|
ij_json_spaces_within_brackets = false
|
||||||
|
ij_json_wrap_long_lines = false
|
||||||
|
|
||||||
|
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
|
||||||
|
ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
|
||||||
|
ij_html_align_attributes = true
|
||||||
|
ij_html_align_text = false
|
||||||
|
ij_html_attribute_wrap = normal
|
||||||
|
ij_html_block_comment_add_space = false
|
||||||
|
ij_html_block_comment_at_first_column = true
|
||||||
|
ij_html_do_not_align_children_of_min_lines = 0
|
||||||
|
ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
|
||||||
|
ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
|
||||||
|
ij_html_enforce_quotes = false
|
||||||
|
ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
|
||||||
|
ij_html_keep_blank_lines = 2
|
||||||
|
ij_html_keep_indents_on_empty_lines = false
|
||||||
|
ij_html_keep_line_breaks = true
|
||||||
|
ij_html_keep_line_breaks_in_text = true
|
||||||
|
ij_html_keep_whitespaces = false
|
||||||
|
ij_html_keep_whitespaces_inside = span,pre,textarea
|
||||||
|
ij_html_line_comment_at_first_column = true
|
||||||
|
ij_html_new_line_after_last_attribute = never
|
||||||
|
ij_html_new_line_before_first_attribute = never
|
||||||
|
ij_html_quote_style = double
|
||||||
|
ij_html_remove_new_line_before_tags = br
|
||||||
|
ij_html_space_after_tag_name = false
|
||||||
|
ij_html_space_around_equality_in_attribute = false
|
||||||
|
ij_html_space_inside_empty_tag = false
|
||||||
|
ij_html_text_wrap = normal
|
||||||
|
|
||||||
|
[{*.kt,*.kts}]
|
||||||
|
ij_kotlin_align_in_columns_case_branch = false
|
||||||
|
ij_kotlin_align_multiline_binary_operation = false
|
||||||
|
ij_kotlin_align_multiline_extends_list = false
|
||||||
|
ij_kotlin_align_multiline_method_parentheses = false
|
||||||
|
ij_kotlin_align_multiline_parameters = true
|
||||||
|
ij_kotlin_align_multiline_parameters_in_calls = false
|
||||||
|
ij_kotlin_allow_trailing_comma = false
|
||||||
|
ij_kotlin_allow_trailing_comma_on_call_site = false
|
||||||
|
ij_kotlin_assignment_wrap = off
|
||||||
|
ij_kotlin_blank_lines_after_class_header = 0
|
||||||
|
ij_kotlin_blank_lines_around_block_when_branches = 0
|
||||||
|
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1
|
||||||
|
ij_kotlin_block_comment_add_space = false
|
||||||
|
ij_kotlin_block_comment_at_first_column = true
|
||||||
|
ij_kotlin_call_parameters_new_line_after_left_paren = false
|
||||||
|
ij_kotlin_call_parameters_right_paren_on_new_line = false
|
||||||
|
ij_kotlin_call_parameters_wrap = off
|
||||||
|
ij_kotlin_catch_on_new_line = false
|
||||||
|
ij_kotlin_class_annotation_wrap = split_into_lines
|
||||||
|
ij_kotlin_continuation_indent_for_chained_calls = true
|
||||||
|
ij_kotlin_continuation_indent_for_expression_bodies = true
|
||||||
|
ij_kotlin_continuation_indent_in_argument_lists = true
|
||||||
|
ij_kotlin_continuation_indent_in_elvis = true
|
||||||
|
ij_kotlin_continuation_indent_in_if_conditions = true
|
||||||
|
ij_kotlin_continuation_indent_in_parameter_lists = true
|
||||||
|
ij_kotlin_continuation_indent_in_supertype_lists = true
|
||||||
|
ij_kotlin_else_on_new_line = false
|
||||||
|
ij_kotlin_enum_constants_wrap = off
|
||||||
|
ij_kotlin_extends_list_wrap = off
|
||||||
|
ij_kotlin_field_annotation_wrap = split_into_lines
|
||||||
|
ij_kotlin_finally_on_new_line = false
|
||||||
|
ij_kotlin_if_rparen_on_new_line = false
|
||||||
|
ij_kotlin_import_nested_classes = false
|
||||||
|
ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^
|
||||||
|
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
|
||||||
|
ij_kotlin_keep_blank_lines_before_right_brace = 2
|
||||||
|
ij_kotlin_keep_blank_lines_in_code = 2
|
||||||
|
ij_kotlin_keep_blank_lines_in_declarations = 2
|
||||||
|
ij_kotlin_keep_first_column_comment = true
|
||||||
|
ij_kotlin_keep_indents_on_empty_lines = false
|
||||||
|
ij_kotlin_keep_line_breaks = true
|
||||||
|
ij_kotlin_lbrace_on_next_line = false
|
||||||
|
ij_kotlin_line_break_after_multiline_when_entry = true
|
||||||
|
ij_kotlin_line_comment_add_space = false
|
||||||
|
ij_kotlin_line_comment_add_space_on_reformat = false
|
||||||
|
ij_kotlin_line_comment_at_first_column = true
|
||||||
|
ij_kotlin_method_annotation_wrap = split_into_lines
|
||||||
|
ij_kotlin_method_call_chain_wrap = off
|
||||||
|
ij_kotlin_method_parameters_new_line_after_left_paren = false
|
||||||
|
ij_kotlin_method_parameters_right_paren_on_new_line = false
|
||||||
|
ij_kotlin_method_parameters_wrap = off
|
||||||
|
ij_kotlin_name_count_to_use_star_import = 5
|
||||||
|
ij_kotlin_name_count_to_use_star_import_for_members = 3
|
||||||
|
ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.**
|
||||||
|
ij_kotlin_parameter_annotation_wrap = off
|
||||||
|
ij_kotlin_space_after_comma = true
|
||||||
|
ij_kotlin_space_after_extend_colon = true
|
||||||
|
ij_kotlin_space_after_type_colon = true
|
||||||
|
ij_kotlin_space_before_catch_parentheses = true
|
||||||
|
ij_kotlin_space_before_comma = false
|
||||||
|
ij_kotlin_space_before_extend_colon = true
|
||||||
|
ij_kotlin_space_before_for_parentheses = true
|
||||||
|
ij_kotlin_space_before_if_parentheses = true
|
||||||
|
ij_kotlin_space_before_lambda_arrow = true
|
||||||
|
ij_kotlin_space_before_type_colon = false
|
||||||
|
ij_kotlin_space_before_when_parentheses = true
|
||||||
|
ij_kotlin_space_before_while_parentheses = true
|
||||||
|
ij_kotlin_spaces_around_additive_operators = true
|
||||||
|
ij_kotlin_spaces_around_assignment_operators = true
|
||||||
|
ij_kotlin_spaces_around_equality_operators = true
|
||||||
|
ij_kotlin_spaces_around_function_type_arrow = true
|
||||||
|
ij_kotlin_spaces_around_logical_operators = true
|
||||||
|
ij_kotlin_spaces_around_multiplicative_operators = true
|
||||||
|
ij_kotlin_spaces_around_range = false
|
||||||
|
ij_kotlin_spaces_around_relational_operators = true
|
||||||
|
ij_kotlin_spaces_around_unary_operator = false
|
||||||
|
ij_kotlin_spaces_around_when_arrow = true
|
||||||
|
ij_kotlin_variable_annotation_wrap = off
|
||||||
|
ij_kotlin_while_on_new_line = false
|
||||||
|
ij_kotlin_wrap_elvis_expressions = 1
|
||||||
|
ij_kotlin_wrap_expression_body_functions = 0
|
||||||
|
ij_kotlin_wrap_first_method_in_call_chain = false
|
||||||
|
|
||||||
|
[{*.markdown,*.md}]
|
||||||
|
ij_markdown_force_one_space_after_blockquote_symbol = true
|
||||||
|
ij_markdown_force_one_space_after_header_symbol = true
|
||||||
|
ij_markdown_force_one_space_after_list_bullet = true
|
||||||
|
ij_markdown_force_one_space_between_words = true
|
||||||
|
ij_markdown_format_tables = true
|
||||||
|
ij_markdown_insert_quote_arrows_on_wrap = true
|
||||||
|
ij_markdown_keep_indents_on_empty_lines = false
|
||||||
|
ij_markdown_keep_line_breaks_inside_text_blocks = true
|
||||||
|
ij_markdown_max_lines_around_block_elements = 1
|
||||||
|
ij_markdown_max_lines_around_header = 1
|
||||||
|
ij_markdown_max_lines_between_paragraphs = 1
|
||||||
|
ij_markdown_min_lines_around_block_elements = 1
|
||||||
|
ij_markdown_min_lines_around_header = 1
|
||||||
|
ij_markdown_min_lines_between_paragraphs = 1
|
||||||
|
ij_markdown_wrap_text_if_long = true
|
||||||
|
ij_markdown_wrap_text_inside_blockquotes = true
|
||||||
|
|
||||||
|
[{*.toml,Cargo.lock,Cargo.toml.orig,Gopkg.lock,Pipfile,poetry.lock}]
|
||||||
|
ij_toml_keep_indents_on_empty_lines = false
|
||||||
|
|
||||||
|
[{*.yaml,*.yml}]
|
||||||
|
indent_size = 4
|
||||||
|
ij_yaml_align_values_properties = do_not_align
|
||||||
|
ij_yaml_autoinsert_sequence_marker = true
|
||||||
|
ij_yaml_block_mapping_on_new_line = false
|
||||||
|
ij_yaml_indent_sequence_value = true
|
||||||
|
ij_yaml_keep_indents_on_empty_lines = false
|
||||||
|
ij_yaml_keep_line_breaks = true
|
||||||
|
ij_yaml_sequence_on_new_line = false
|
||||||
|
ij_yaml_space_before_colon = false
|
||||||
|
ij_yaml_spaces_within_braces = true
|
||||||
|
ij_yaml_spaces_within_brackets = true
|
||||||
@@ -24,3 +24,9 @@ run
|
|||||||
# Files from Forge MDK
|
# Files from Forge MDK
|
||||||
logs
|
logs
|
||||||
forge*changelog.txt
|
forge*changelog.txt
|
||||||
|
|
||||||
|
# Sqlite databases
|
||||||
|
*.sqlite
|
||||||
|
*.sqlite-journal
|
||||||
|
*.sqlite-shm
|
||||||
|
*.sqlite-wal
|
||||||
|
|||||||
@@ -0,0 +1,165 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
||||||
@@ -4,7 +4,7 @@ This repo is for the Distant Horizons mod.
|
|||||||
The purpose of this submodule is to isolate code that isn't tied to a specific version of minecraft. This prevents us from having duplicate code; reducing errors and potentially helping us port to different versions faster and easier.
|
The purpose of this submodule is to isolate code that isn't tied to a specific version of minecraft. This prevents us from having duplicate code; reducing errors and potentially helping us port to different versions faster and easier.
|
||||||
|
|
||||||
Check out the mod's main GitLab page here:
|
Check out the mod's main GitLab page here:
|
||||||
https://gitlab.com/jeseibel/minecraft-lod-mod
|
https://gitlab.com/jeseibel/distant-horizons
|
||||||
|
|
||||||
## source code installation
|
## source code installation
|
||||||
|
|
||||||
@@ -14,8 +14,14 @@ It should be automatically included when pulling the full mod.
|
|||||||
|
|
||||||
## Open Source Acknowledgements
|
## Open Source Acknowledgements
|
||||||
|
|
||||||
XZ for Java (data compression)\
|
LZ4 for Java (data compression)\
|
||||||
https://tukaani.org/xz/java.html
|
https://github.com/lz4/lz4-java
|
||||||
|
|
||||||
Toml for Java (config handeling)\
|
NightConfig for Json & Toml (config handling)\
|
||||||
https://github.com/TheElectronWill/night-config
|
https://github.com/TheElectronWill/night-config
|
||||||
|
|
||||||
|
SVG Salamander for SVG support (not being used atm)\
|
||||||
|
https://github.com/blackears/svgSalamander
|
||||||
|
|
||||||
|
sqlite-jdbc\
|
||||||
|
https://github.com/xerial/sqlite-jdbc
|
||||||
|
|||||||
@@ -1,390 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<profiles version="21">
|
|
||||||
<profile kind="CodeFormatterProfile" name="Eclipse (James' Edit)" version="21">
|
|
||||||
<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.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.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
|
|
||||||
<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.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
|
|
||||||
<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_semicolon_in_for" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
|
|
||||||
<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.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.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.comment.count_line_length_from_starting_position" value="true"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="16"/>
|
|
||||||
<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.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_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.insert_space_before_closing_brace_in_array_initializer" 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.alignment_for_parameterized_type_references" value="0"/>
|
|
||||||
<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_space_before_closing_paren_in_record_declaration" value="do not 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.insert_space_after_multiplicative_operator" value="insert"/>
|
|
||||||
<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_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.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.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
|
|
||||||
<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.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_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.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.brace_position_for_block" value="next_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.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.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.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.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.format_line_comment_starting_on_first_column" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
|
|
||||||
<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.alignment_for_annotations_on_enum_constant" value="49"/>
|
|
||||||
<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_opening_paren_in_parenthesized_expression" value="do not 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.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.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.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.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="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_type_annotations" value="0"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
|
|
||||||
<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.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="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="80"/>
|
|
||||||
<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="true"/>
|
|
||||||
<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_allocation_expression" 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.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.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.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not 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.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.indent_empty_lines" value="true"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
|
|
||||||
<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.alignment_for_annotations_on_package" value="49"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
|
|
||||||
<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_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_before_colon_in_conditional" value="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_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_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.indent_body_declarations_compare_to_record_header" value="true"/>
|
|
||||||
<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.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_try" value="do not insert"/>
|
|
||||||
<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.brace_position_for_record_constructor" value="next_line"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
|
|
||||||
<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_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
|
|
||||||
<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.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.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_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_comma_in_record_components" value="do not insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" 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_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_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
|
|
||||||
<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.join_lines_in_comments" value="true"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="do not insert"/>
|
|
||||||
<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.blank_lines_between_import_groups" value="1"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
|
|
||||||
<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.insert_space_after_postfix_operator" value="do not insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_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.disabling_tag" value="@formatter:off"/>
|
|
||||||
<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.parentheses_positions_in_if_while_statement" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="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_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_paren_in_switch" value="do not insert"/>
|
|
||||||
<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.never_indent_line_comments_on_first_column" value="true"/>
|
|
||||||
<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.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.brace_position_for_method_declaration" value="next_line"/>
|
|
||||||
<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.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
|
|
||||||
<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_multiple_field_declarations" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_never"/>
|
|
||||||
<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_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="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_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.insert_new_line_before_catch_in_try_statement" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="0"/>
|
|
||||||
<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.alignment_for_expressions_in_array_initializer" value="16"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="99"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="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_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_after_string_concatenation" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="next_line"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="49"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="49"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="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.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.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.alignment_for_annotations_on_field" value="49"/>
|
|
||||||
<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.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.keep_code_block_on_one_line" value="one_line_never"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" 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_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.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.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.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
|
|
||||||
<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.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_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
|
|
||||||
<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.alignment_for_annotations_on_method" value="49"/>
|
|
||||||
<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.keep_record_constructor_on_one_line" value="one_line_never"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="0"/>
|
|
||||||
<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_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_opening_angle_bracket_in_parameterized_type_reference" 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_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_space_before_logical_operator" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="16"/>
|
|
||||||
<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_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="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="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.keep_simple_while_body_on_same_line" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
|
|
||||||
<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_before_colon_in_case" value="do not 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.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.insert_space_before_multiplicative_operator" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="1"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" 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.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
|
|
||||||
<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.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="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="1200"/>
|
|
||||||
<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,11 +0,0 @@
|
|||||||
These Files are used when developing the mod.
|
|
||||||
|
|
||||||
Eclipse Auto Formatting
|
|
||||||
IntelliJ Auto Formatting
|
|
||||||
- These files are the auto-formatting settings that should be used when developing for the mod. We want to make sure the style of code is consistant regardless of who is writting the code.
|
|
||||||
|
|
||||||
renderDocMcDistantHorizonsSettings
|
|
||||||
- This file contains the configuration to run a remote debug instance so you can edit the mod in your IDE while also viewing the OpenGL code in RenderDoc.
|
|
||||||
|
|
||||||
minecraft launch options
|
|
||||||
- This file contains the Java command line arguments used to launch the mod from a development environment (specifically Eclipse, James didn't test it with IntelliJ), and is included to more easily edit the options for RenderDoc
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
<code_scheme name="Eclipse (James' Edit)" version="173">
|
|
||||||
<option name="RIGHT_MARGIN" value="1200" />
|
|
||||||
<JavaCodeStyleSettings>
|
|
||||||
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
|
|
||||||
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
|
|
||||||
<option name="JD_ADD_BLANK_AFTER_DESCRIPTION" value="false" />
|
|
||||||
<option name="JD_P_AT_EMPTY_LINES" value="false" />
|
|
||||||
<option name="JD_KEEP_INVALID_TAGS" value="false" />
|
|
||||||
<option name="JD_DO_NOT_WRAP_ONE_LINE_COMMENTS" value="true" />
|
|
||||||
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
|
|
||||||
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
|
|
||||||
<option name="JD_KEEP_EMPTY_RETURN" value="false" />
|
|
||||||
</JavaCodeStyleSettings>
|
|
||||||
<codeStyleSettings language="JAVA">
|
|
||||||
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
|
|
||||||
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="10" />
|
|
||||||
<option name="KEEP_BLANK_LINES_IN_CODE" value="10" />
|
|
||||||
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="10" />
|
|
||||||
<option name="BLANK_LINES_BEFORE_PACKAGE" value="1" />
|
|
||||||
<option name="BRACE_STYLE" value="2" />
|
|
||||||
<option name="CLASS_BRACE_STYLE" value="2" />
|
|
||||||
<option name="METHOD_BRACE_STYLE" value="2" />
|
|
||||||
<option name="ELSE_ON_NEW_LINE" value="true" />
|
|
||||||
<option name="WHILE_ON_NEW_LINE" value="true" />
|
|
||||||
<option name="CATCH_ON_NEW_LINE" value="true" />
|
|
||||||
<option name="FINALLY_ON_NEW_LINE" value="true" />
|
|
||||||
<option name="INDENT_CASE_FROM_SWITCH" value="false" />
|
|
||||||
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
|
|
||||||
<option name="ALIGN_MULTILINE_RESOURCES" value="false" />
|
|
||||||
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACES" value="true" />
|
|
||||||
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
|
|
||||||
<option name="CALL_PARAMETERS_WRAP" value="1" />
|
|
||||||
<option name="METHOD_PARAMETERS_WRAP" value="1" />
|
|
||||||
<option name="RESOURCE_LIST_WRAP" value="5" />
|
|
||||||
<option name="EXTENDS_LIST_WRAP" value="1" />
|
|
||||||
<option name="THROWS_LIST_WRAP" value="1" />
|
|
||||||
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
|
|
||||||
<option name="THROWS_KEYWORD_WRAP" value="1" />
|
|
||||||
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
|
|
||||||
<option name="TERNARY_OPERATION_WRAP" value="5" />
|
|
||||||
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
|
|
||||||
<option name="METHOD_ANNOTATION_WRAP" value="0" />
|
|
||||||
<option name="CLASS_ANNOTATION_WRAP" value="0" />
|
|
||||||
<option name="FIELD_ANNOTATION_WRAP" value="0" />
|
|
||||||
<indentOptions>
|
|
||||||
<option name="USE_TAB_CHARACTER" value="true" />
|
|
||||||
<option name="KEEP_INDENTS_ON_EMPTY_LINES" value="true" />
|
|
||||||
</indentOptions>
|
|
||||||
</codeStyleSettings>
|
|
||||||
</code_scheme>
|
|
||||||
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
@@ -0,0 +1,64 @@
|
|||||||
|
<?xml version="1.0" standalone="yes"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="2040" height="2040">
|
||||||
|
<!-- Distant Horizons logo in svg format -->
|
||||||
|
<!-- Converted svg made by coolGi -->
|
||||||
|
<!-- Made by hand so there may be inaccuracies -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Colors used
|
||||||
|
|
||||||
|
Blue: "fill:#465AA8"
|
||||||
|
Green: "fill:#5C7E3C"
|
||||||
|
Wierd green: "fill:#DCD7AA"
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Big Blue -->
|
||||||
|
<polygon points="1018.5,15 1434,255 1018.5,486 603,255" style="fill:#465AA8" />
|
||||||
|
<polygon points="1460,270 1875.5,509.5 1460,750 1045,509" style="fill:#465AA8" />
|
||||||
|
<polygon points="1889,531.5 1889,1012 1473,1252 1473,772" style="fill:#465AA8" />
|
||||||
|
<!-- Big Green -->
|
||||||
|
<polygon points="577,269 992,510 577,750 162,509.5" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="149,532 564,772 564,1252 149,1012" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="1889,1041 1889,1522 1474,1762 1473,1281" style="fill:#5C7E3C" />
|
||||||
|
<!-- Big Wierd Green -->
|
||||||
|
<polygon points="149,1042 564,1282 564,1762 149,1522" style="fill:#DCD7AA" />
|
||||||
|
<polygon points="590,1297 1006,1537 1006,2017 590,1777" style="fill:#DCD7AA" />
|
||||||
|
<polygon points="1031,1537 1447,1297 1447,1777 1031,2017" style="fill:#DCD7AA" />
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Mid Blue -->
|
||||||
|
<polygon points="1239.5,652 1434,764.5 1239.5,877 1045,764.5" style="fill:#465AA8" />
|
||||||
|
<polygon points="1447,787 1447,1012 1252,1125 1252,899" style="fill:#465AA8" />
|
||||||
|
<!-- Mid Green -->
|
||||||
|
<polygon points="1018.5,525 1214,637 1018.5,749 824,637" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="798,652 992,764.5 798,877 603,764.5" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="590,787 785,899 785,1125 590,1012" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="1447,1042 1447,1267 1252,1380 1252,1154" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="1226,1170 1226,1395 1031,1507 1031,1282" style="fill:#5C7E3C" />
|
||||||
|
<!-- Mid Wierd Green -->
|
||||||
|
<polygon points="590,1042 785,1154 785,1379 590,1267" style="fill:#DCD7AA" />
|
||||||
|
<polygon points="811,1169 1006,1282 1006,1507 811,1395" style="fill:#DCD7AA" />
|
||||||
|
|
||||||
|
<!-- Out Small Blue -->
|
||||||
|
<polygon points="1018.5,779.5 1103,828 1018.5,877 934,828" style="fill:#465AA8" />
|
||||||
|
<polygon points="1129,843 1214,892 1129,941 1044,892" style="fill:#465AA8" />
|
||||||
|
<polygon points="1226,914 1226,1012 1142,1061 1142,963" style="fill:#465AA8" />
|
||||||
|
<polygon points="1226,1042 1226,1140 1142,1188 1142,1090" style="fill:#465AA8" />
|
||||||
|
<polygon points="1116,1105 1116,1203 1031,1252 1031,1154" style="fill:#465AA8" />
|
||||||
|
<!-- Out Small Green -->
|
||||||
|
<polygon points="908,843 993,892 908,941 823,892" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="811,914 895,963 895,1061 811,1012" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="921,1105 1006,1154 1006,1252 921,1203" style="fill:#5C7E3C" />
|
||||||
|
<!-- Out Small Wierd Green -->
|
||||||
|
<polygon points="811,1042 895,1090 895,1188 811,1140" style="fill:#DCD7AA" />
|
||||||
|
|
||||||
|
<!-- In Small Blue -->
|
||||||
|
<polygon points="1116,978 1116,1076 1031,1125 1031,1027" style="fill:#465AA8" />
|
||||||
|
<!-- In Small Green -->
|
||||||
|
<polygon points="1018.5,907 1103,956 1018.5,1004 934,956" style="fill:#5C7E3C" />
|
||||||
|
<polygon points="921,978 1006,1027 1006,1125 921,1076" style="fill:#5C7E3C" />
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 194 KiB After Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 174 KiB After Width: | Height: | Size: 174 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
FROM anapsix/alpine-java
|
||||||
|
MAINTAINER Ran
|
||||||
|
COPY anotherquestion-1.0-SNAPSHOT.jar /home/anotherquestion-1.0-SNAPSHOT.jar
|
||||||
|
CMD ["java","-jar","/home/anotherquestion-1.0-SNAPSHOT.jar"]
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
The following is short tutorial to setup and register a gitlab runner in a docker container on windows.
|
||||||
|
Docker can be installed via an installer from their website and these instructions assume that has already been done.
|
||||||
|
|
||||||
|
longer tutorials can be found at the following links:
|
||||||
|
https://faun.pub/gitlab-runner-setup-run-in-docker-container-on-windows-44fee102d02e
|
||||||
|
https://datawookie.dev/blog/2021/03/install-gitlab-runner-with-docker/
|
||||||
|
|
||||||
|
|
||||||
|
1. install the gitlab runner
|
||||||
|
run the following command in powershell, changing the config file location if need be
|
||||||
|
Note: This will NOT work in git bash, only powershell
|
||||||
|
|
||||||
|
docker run -d --name gitlab-runner --restart always -v C:\DistantHorizonsWorkspace\Docker\config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
|
||||||
|
|
||||||
|
|
||||||
|
2. to make sure the docker container was set up correctly run:
|
||||||
|
docker container list
|
||||||
|
|
||||||
|
it will display the docker containers that have been created
|
||||||
|
|
||||||
|
|
||||||
|
3. start and register the runner
|
||||||
|
run the following command in powershell. change the <ITEM>'s to whatever they should be for the runner you are creating.
|
||||||
|
|
||||||
|
docker run --rm -t -i -v C:\gitlab-runner\config:/etc/gitlab-runner gitlab/gitlab-runner register --non-interactive --executor "docker" --docker-image alpine:latest --url "https://gitlab.com/" --registration-token "<TOKEN>" --description "<DESCRIPTION THAT SHOWS UP ON GITLAB>" --run-untagged="true" --locked="false"
|
||||||
|
|
||||||
|
|
||||||
|
4. done
|
||||||
|
at this point the runner should be up and running, to confirm this go to your:
|
||||||
|
gitlab project -> settings (on the left menu bar) -> CI/CD -> Runners
|
||||||
|
and you should see the newly registered runner (the description should show up under the runner's auto generated ID)
|
||||||
|
|
||||||
|
|
||||||
|
5. optional config
|
||||||
|
Open Docker Desktop -> Containers -> Files, go to the file "etc/gitlab-runner/config.toml"
|
||||||
|
concurrent can be changed to allow for concurrent builds.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Additional commands:
|
||||||
|
|
||||||
|
manual registering (shouldn't be needed)
|
||||||
|
docker exec -it gitlab-runner gitlab-runner register
|
||||||
|
|
||||||
|
list gitlab runner info
|
||||||
|
docker exec -it gitlab-runner gitlab-runner list
|
||||||
|
|
||||||
|
list all commands the runner can use
|
||||||
|
(replace "help" with whatever command you want to use)
|
||||||
|
docker exec -it gitlab-runner gitlab-runner help
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id "java"
|
||||||
|
|
||||||
|
id "com.github.johnrengelman.shadow" version '7.1.2' apply false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
shadowJar {
|
||||||
|
// required for basic shadowJar setup
|
||||||
|
configurations = [project.configurations.shadow]
|
||||||
|
}
|
||||||
|
|
||||||
|
task addSourcesToCompiledJar(type: ShadowJar) {
|
||||||
|
|
||||||
|
def sourceJarPath = "build/libs/DistantHorizons-api-${rootProject.versionStr}-sources.jar"
|
||||||
|
def secondJarFile = file(sourceJarPath)
|
||||||
|
|
||||||
|
// doFirst is so these only run when the task is actually executed
|
||||||
|
doFirst {
|
||||||
|
System.out.println("Adding source files from: \n" +
|
||||||
|
"[" + sourceJarPath + "] to compiled API jar: \n" +
|
||||||
|
"[" + shadowJar.archivePath + "]")
|
||||||
|
|
||||||
|
// Validate the input JAR file
|
||||||
|
if (!secondJarFile.exists()) {
|
||||||
|
throw new GradleException("Second JAR file not found: [${secondJarFile}]")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the name of the combined JAR file
|
||||||
|
archiveFileName.set("DistantHorizonsApi-${rootProject.api_version}.jar")
|
||||||
|
|
||||||
|
// Set the destination directory for the combined JAR file
|
||||||
|
destinationDirectory = file('build/libs/merged/')
|
||||||
|
|
||||||
|
// Set the input JAR files to be combined
|
||||||
|
from sourceSets.main.allJava
|
||||||
|
from {
|
||||||
|
configurations.shadow.collect { it.isDirectory() ? it : zipTree(it) }
|
||||||
|
}
|
||||||
|
|
||||||
|
// set the jars to merge
|
||||||
|
from shadowJar.archivePath
|
||||||
|
from secondJarFile
|
||||||
|
|
||||||
|
// alternative method to Include the source files in the combined JAR
|
||||||
|
// and/or see which files are being included
|
||||||
|
eachFile { file ->
|
||||||
|
// can be set to true for debugging
|
||||||
|
def useAlternateEmbedMethod = false
|
||||||
|
def showFileEmbedding = false
|
||||||
|
|
||||||
|
if (showFileEmbedding || useAlternateEmbedMethod) {
|
||||||
|
System.out.println("attempting to add file: " + file)
|
||||||
|
|
||||||
|
def relativePath = file.relativePath.pathString
|
||||||
|
if (relativePath.endsWith('.class')) {
|
||||||
|
System.out.println("class file: " + relativePath)
|
||||||
|
def sourceFile = file.file.parentFile.resolveSibling('src/main/java/' + relativePath.replace('.class', '.java'))
|
||||||
|
if (sourceFile.exists()) {
|
||||||
|
System.out.println("adding source file: " + sourceFile)
|
||||||
|
if (useAlternateEmbedMethod) {
|
||||||
|
file.withInputStream { inputStream ->
|
||||||
|
copy {
|
||||||
|
from(inputStream)
|
||||||
|
into(relativePath.replace('.class', '.java'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
System.out.println('missing source file: ' + sourceFile)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
javadoc {
|
||||||
|
options {
|
||||||
|
// Don't log warnings.
|
||||||
|
// There are a lot of warnings related to missing @param and @return javadocs
|
||||||
|
// that aren't necessary and would clutter up said javadocs.
|
||||||
|
// For more info see: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html
|
||||||
|
addStringOption('Xdoclint:all,-missing', '-quiet')
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,205 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.events.IDhApiEventInjector;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.factories.IDhApiWrapperFactory;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGeneratorOverrideRegister;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiAfterDhInitEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.override.DhApiWorldGeneratorOverrideRegister;
|
||||||
|
import com.seibel.distanthorizons.coreapi.ModInfo;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfig;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.world.IDhApiWorldProxy;
|
||||||
|
import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector;
|
||||||
|
import com.seibel.distanthorizons.coreapi.DependencyInjection.OverrideInjector;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.data.IDhApiTerrainDataRepo;
|
||||||
|
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IOverrideInjector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the masthead of the API, almost everything you could want to do
|
||||||
|
* can be achieved from here. <br>
|
||||||
|
* For example: you can access singletons which handle the config or event binding. <br><br>
|
||||||
|
*
|
||||||
|
* <strong>Q:</strong> Why should I use this class instead of just getting the API singleton I need? <br>
|
||||||
|
* <strong>A:</strong> This way there is a lower chance of your code breaking if we change something on our end.
|
||||||
|
* For example, if we realized there is a much better way of handling dependency injection we would keep the
|
||||||
|
* interface the same so your code doesn't have to change. Whereas if you were directly referencing
|
||||||
|
* the concrete object we replaced, there would be issues.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-12-16
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public class DhApi
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* If you can see this Java Doc, this can be ignored. <br>
|
||||||
|
* This is just to let you know that Javadocs are available and that you should use the API jar
|
||||||
|
* instead of the full mod jar. <br><br>
|
||||||
|
*
|
||||||
|
* Note: Don't use this string in your code. It may change and is only for reference.
|
||||||
|
*/
|
||||||
|
public static final String READ_ME =
|
||||||
|
"If you don't see Javadocs something is wrong. \n" +
|
||||||
|
"If you are only using the full DH Mod in your build script, you won't have access to our javadocs and could potentially call into unsafe code. \n" +
|
||||||
|
"\n" +
|
||||||
|
"Please use the API jar in your build script as a compile time dependency " +
|
||||||
|
"and the full DH jar as a runtime dependency. \n" +
|
||||||
|
"\n" +
|
||||||
|
"Please refer to the example API project or the DH Developer Wiki for additional information " +
|
||||||
|
"and suggested setup. \n" + // DH Dev note: no links were included to prevent link rot.
|
||||||
|
"";
|
||||||
|
public static String readMe() { return READ_ME; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
|
||||||
|
* vs the relatively boring "readMe".
|
||||||
|
*/
|
||||||
|
public static final String HEY_YOU_YOURE_FINALLY_AWAKE = READ_ME;
|
||||||
|
/**
|
||||||
|
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
|
||||||
|
* vs the relatively boring "readMe".
|
||||||
|
*/
|
||||||
|
public static String heyYou_YoureFinallyAwake() { return READ_ME; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <strong>WARNING:</strong>
|
||||||
|
* All objects in this class will be null until after DH initializes for the first time. <br><br>
|
||||||
|
*
|
||||||
|
* Bind a custom {@link DhApiAfterDhInitEvent DhApiAfterDhInitEvent}
|
||||||
|
* to {@link DhApi#events ApiCoreInjectors.events} in order to be notified when this class can
|
||||||
|
* be safely used.
|
||||||
|
*
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static class Delayed
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Used to interact with Distant Horizons' Configs.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static IDhApiConfig configs = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to interact with Distant Horizons' terrain data.
|
||||||
|
* Designed to be used in conjunction with {@link DhApi.Delayed#worldProxy}.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static IDhApiTerrainDataRepo terrainRepo = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to interact with Distant Horizons' currently loaded world.
|
||||||
|
* Designed to be used in conjunction with {@link DhApi.Delayed#terrainRepo}.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static IDhApiWorldProxy worldProxy = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to interact with Distant Horizons' rendering system.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static IDhApiRenderProxy renderProxy = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to create wrappers for Minecraft objects needed by other Distant Horizons API methods.
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public static IDhApiWrapperFactory wrapperFactory = null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//==================//
|
||||||
|
// always available //
|
||||||
|
//==================//
|
||||||
|
|
||||||
|
// interfaces //
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to bind/unbind Distant Horizons Api events.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static final IDhApiEventInjector events = ApiEventInjector.INSTANCE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to bind/unbind Distant Horizons Api events.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static final IDhApiWorldGeneratorOverrideRegister worldGenOverrides = DhApiWorldGeneratorOverrideRegister.INSTANCE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to bind overrides to change Distant Horizons' core behavior.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static final IOverrideInjector<IDhApiOverrideable> overrides = OverrideInjector.INSTANCE;
|
||||||
|
|
||||||
|
|
||||||
|
// getters //
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This version should only be updated when breaking changes are introduced to the Distant Horizons API.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static int getApiMajorVersion() { return ModInfo.API_MAJOR_VERSION; }
|
||||||
|
/**
|
||||||
|
* This version should be updated whenever new methods are added to the Distant Horizons API.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static int getApiMinorVersion() { return ModInfo.API_MINOR_VERSION; }
|
||||||
|
/**
|
||||||
|
* This version should be updated whenever non-breaking fixes are added to the Distant Horizons API.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static int getApiPatchVersion() { return ModInfo.API_PATH_VERSION; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the mod's semantic version number in the format: Major.Minor.Patch
|
||||||
|
* with optional extensions "-a" for alpha, "-b" for beta, and -dev for unstable development builds. <br>
|
||||||
|
* Examples: "1.6.9-a", "1.7.0-a-dev", "2.1.0-b", "3.0.0", "3.1.4-dev"
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static String getModVersion() { return ModInfo.VERSION; }
|
||||||
|
/**
|
||||||
|
* Returns true if the mod is a development version, false if it is a release version.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static boolean getIsDevVersion() { return ModInfo.IS_DEV_BUILD; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the network protocol version.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public static int getNetworkProtocolVersion() { return ModInfo.PROTOCOL_VERSION; }
|
||||||
|
|
||||||
|
|
||||||
|
// methods //
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if the thread this method was called from is owned by Distant Horizons.
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public static boolean isDhThread() { return Thread.currentThread().getName().startsWith(ModInfo.THREAD_NAME_PREFIX); }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BLOCK - Detail Level: 0, width 1 block, <br>
|
||||||
|
* CHUNK - Detail Level: 4, width 16 block, <br>
|
||||||
|
* REGION - Detail Level: 9, width 512 block <br> <br>
|
||||||
|
*
|
||||||
|
* Detail levels in Distant Horizons represent how large a section (of either LODs or MC chunks)
|
||||||
|
* is, with the smallest being 0 (1 block wide). <br>
|
||||||
|
* The width of a detail level can be calculated by putting the detail level to the power of 2. <br>
|
||||||
|
* Example for the chunk detail level (4): 2^4 = 16 blocks wide <Br><br>
|
||||||
|
*
|
||||||
|
* This enum doesn't contain all valid detail levels, only those most likely to be needed.
|
||||||
|
* Detail levels 1,2,3, ... 255 are all technically valid detail levels
|
||||||
|
* (although anything beyond {@link EDhApiDetailLevel#REGION} may be difficult deal with).
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-12-5
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiDetailLevel
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
/**
|
||||||
|
* detail level: 0 <Br>
|
||||||
|
* width in Blocks: 1
|
||||||
|
*/
|
||||||
|
BLOCK(0, 1),
|
||||||
|
/**
|
||||||
|
* detail level: 4 <Br>
|
||||||
|
* width in Blocks: 16
|
||||||
|
*/
|
||||||
|
CHUNK(4, 16),
|
||||||
|
/**
|
||||||
|
* detail level: 9 <Br>
|
||||||
|
* width in Blocks: 512
|
||||||
|
*/
|
||||||
|
REGION(9, 512);
|
||||||
|
|
||||||
|
|
||||||
|
public final byte detailLevel;
|
||||||
|
public final byte widthInBlocks;
|
||||||
|
|
||||||
|
EDhApiDetailLevel(int detailLevel, int widthInBlocks)
|
||||||
|
{
|
||||||
|
this.detailLevel = (byte) detailLevel;
|
||||||
|
this.widthInBlocks = (byte) widthInBlocks;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add this annotation to enum values that
|
||||||
|
* are valid config options, but shouldn't be selectable
|
||||||
|
* when toggling through the options. <br><br>
|
||||||
|
*
|
||||||
|
* Example: A preset's "custom" option shouldn't be selectable
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface DisallowSelectingViaConfigGui
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NONE, <br>
|
||||||
|
* NON_COLLIDING, <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiBlocksToAvoid
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
NONE(false),
|
||||||
|
NON_COLLIDING(true);
|
||||||
|
|
||||||
|
public final boolean noCollision;
|
||||||
|
|
||||||
|
EDhApiBlocksToAvoid(boolean noCollision) { this.noCollision = noCollision; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UNCOMPRESSED <br>
|
||||||
|
* LZ4 <br>
|
||||||
|
* ZSTD <br>
|
||||||
|
* XZ <br><br>
|
||||||
|
*
|
||||||
|
* Note: speed and compression ratios are examples
|
||||||
|
* and should only be used for estimated comparisons.
|
||||||
|
*
|
||||||
|
* @version 2024-3-16
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiDataCompressionMode
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Should only be used internally and for unit testing. <br><br>
|
||||||
|
*
|
||||||
|
* Read Speed: 1.64 MS / DTO <br>
|
||||||
|
* Write Speed: 12.44 MS / DTO <br>
|
||||||
|
* Compression ratio: 1.0 <br>
|
||||||
|
*/
|
||||||
|
@DisallowSelectingViaConfigGui
|
||||||
|
UNCOMPRESSED(0),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extremely fast (often faster than uncompressed), but generally poor compression. <br><br>
|
||||||
|
*
|
||||||
|
* Read Speed: 1.85 MS / DTO <br>
|
||||||
|
* Write Speed: 9.46 MS / DTO <br>
|
||||||
|
* Compression ratio: 0.3638 <br>
|
||||||
|
*/
|
||||||
|
LZ4(1),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Decent speed and good compression. <br><br>
|
||||||
|
*
|
||||||
|
* Read Speed: 11.78 MS / DTO <br>
|
||||||
|
* Write Speed: 16.76 MS / DTO <br>
|
||||||
|
* Compression ratio: 0.2199 <br>
|
||||||
|
*/
|
||||||
|
//@Deprecated
|
||||||
|
//Z_STD(2),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extremely slow, but very good compression. <br><br>
|
||||||
|
*
|
||||||
|
* Read Speed: 12.25 MS / DTO <br>
|
||||||
|
* Write Speed: 490.07 MS / DTO <br>
|
||||||
|
* Compression ratio: 0.1242 <br>
|
||||||
|
*/
|
||||||
|
LZMA2(3);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** More stable than using the ordinal of the enum */
|
||||||
|
public final byte value;
|
||||||
|
|
||||||
|
EDhApiDataCompressionMode(int value) { this.value = (byte) value; }
|
||||||
|
|
||||||
|
|
||||||
|
/** @throws IllegalArgumentException if the value doesn't map to a value */
|
||||||
|
public static EDhApiDataCompressionMode getFromValue(byte value) throws IllegalArgumentException
|
||||||
|
{
|
||||||
|
EDhApiDataCompressionMode[] enumList = EDhApiDataCompressionMode.values();
|
||||||
|
for (int i = 0; i < enumList.length; i++)
|
||||||
|
{
|
||||||
|
if (enumList[i].value == value)
|
||||||
|
{
|
||||||
|
return enumList[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new IllegalArgumentException("No compression mode with the value ["+value+"]");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiGLErrorHandlingMode
|
||||||
|
{
|
||||||
|
IGNORE,
|
||||||
|
LOG,
|
||||||
|
LOG_THROW;
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiGlProfileMode
|
||||||
|
{
|
||||||
|
CORE,
|
||||||
|
COMPAT,
|
||||||
|
ANY;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AUTO, <br>
|
||||||
|
* BUFFER_STORAGE, <br>
|
||||||
|
* SUB_DATA, <br>
|
||||||
|
* BUFFER_MAPPING, <br>
|
||||||
|
* DATA <br>
|
||||||
|
*
|
||||||
|
* @author Leetom
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-4-6
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiGpuUploadMethod
|
||||||
|
{
|
||||||
|
/** Picks the best option based on the GPU the user has. */
|
||||||
|
AUTO(false, false),
|
||||||
|
|
||||||
|
// commented out since it isn't currently in use
|
||||||
|
//BUFFER_STORAGE_MAPPING(true, true),
|
||||||
|
|
||||||
|
/** Fast rendering, no stuttering. */
|
||||||
|
BUFFER_STORAGE(false, true),
|
||||||
|
|
||||||
|
/** Fast rendering but may stutter when uploading. */
|
||||||
|
SUB_DATA(false, false),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* May end up storing buffers in System memory. <br>
|
||||||
|
* Fast rending if in GPU memory, slow if in system memory, <br>
|
||||||
|
* but won't stutter when uploading.
|
||||||
|
*/
|
||||||
|
BUFFER_MAPPING(true, false),
|
||||||
|
|
||||||
|
/** Fast rendering but may stutter when uploading. */
|
||||||
|
DATA(false, false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public final boolean useEarlyMapping;
|
||||||
|
public final boolean useBufferStorage;
|
||||||
|
|
||||||
|
EDhApiGpuUploadMethod(boolean useEarlyMapping, boolean useBufferStorage)
|
||||||
|
{
|
||||||
|
this.useEarlyMapping = useEarlyMapping;
|
||||||
|
this.useBufferStorage = useBufferStorage;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AS_GRASS <br>
|
||||||
|
* FADE_TO_DIRT <br>
|
||||||
|
* AS_DIRT <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-7
|
||||||
|
*/
|
||||||
|
public enum EDhApiGrassSideRendering
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
AS_GRASS,
|
||||||
|
FADE_TO_DIRT,
|
||||||
|
AS_DIRT;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LOWEST <br>
|
||||||
|
* LOW <br>
|
||||||
|
* MEDIUM <br>
|
||||||
|
* HIGH <br>
|
||||||
|
* UNLIMITED <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiHorizontalQuality
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
// FIXME any quadraticBase less than 2.0f has issues with DetailDistanceUtil, and will always return the lowest detail level.
|
||||||
|
// So for now we are limiting the lowest value to 2.0
|
||||||
|
// LOWEST was originally 1.0f and LOW was 1.5f
|
||||||
|
|
||||||
|
LOWEST(2.0f, 4),
|
||||||
|
LOW(2.0f, 8),
|
||||||
|
MEDIUM(2.0f, 12),
|
||||||
|
HIGH(2.2f, 16),
|
||||||
|
EXTREME(2.4f, 32),
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public final double quadraticBase;
|
||||||
|
public final int distanceUnitInBlocks;
|
||||||
|
|
||||||
|
EDhApiHorizontalQuality(double quadraticBase, int distanceUnitInBlocks)
|
||||||
|
{
|
||||||
|
this.quadraticBase = quadraticBase;
|
||||||
|
this.distanceUnitInBlocks = distanceUnitInBlocks;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AUTO <br>
|
||||||
|
* ENABLED <br>
|
||||||
|
* DISABLED <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiLodShading
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Uses Minecraft's shading for LODs. <Br>
|
||||||
|
* This means if Minecraft's shading is disabled DH's shading will be as well.
|
||||||
|
*/
|
||||||
|
AUTO,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simulates Minecraft's shading. <Br>
|
||||||
|
* This is most useful for shaders that disable Minecraft's shading
|
||||||
|
* but still require shading on LODs.
|
||||||
|
*/
|
||||||
|
ENABLED,
|
||||||
|
|
||||||
|
/** LODs will have no shading */
|
||||||
|
DISABLED;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
import org.apache.logging.log4j.Level;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiLoggerMode
|
||||||
|
{
|
||||||
|
DISABLED(Level.OFF, Level.OFF),
|
||||||
|
LOG_ALL_TO_FILE(Level.ALL, Level.OFF),
|
||||||
|
LOG_ERROR_TO_CHAT(Level.ALL, Level.ERROR),
|
||||||
|
LOG_WARNING_TO_CHAT(Level.ALL, Level.WARN),
|
||||||
|
LOG_INFO_TO_CHAT(Level.ALL, Level.INFO),
|
||||||
|
LOG_DEBUG_TO_CHAT(Level.ALL, Level.DEBUG),
|
||||||
|
LOG_ALL_TO_CHAT(Level.ALL, Level.ALL),
|
||||||
|
LOG_ERROR_TO_CHAT_AND_FILE(Level.ERROR, Level.ERROR),
|
||||||
|
LOG_WARNING_TO_CHAT_AND_FILE(Level.WARN, Level.WARN),
|
||||||
|
LOG_INFO_TO_CHAT_AND_FILE(Level.INFO, Level.INFO),
|
||||||
|
LOG_DEBUG_TO_CHAT_AND_FILE(Level.DEBUG, Level.DEBUG),
|
||||||
|
LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE(Level.INFO, Level.WARN),
|
||||||
|
LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE(Level.INFO, Level.ERROR),
|
||||||
|
;
|
||||||
|
|
||||||
|
public final Level levelForFile;
|
||||||
|
public final Level levelForChat;
|
||||||
|
|
||||||
|
EDhApiLoggerMode(Level levelForFile, Level levelForChat)
|
||||||
|
{
|
||||||
|
this.levelForFile = levelForFile;
|
||||||
|
this.levelForChat = levelForChat;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,41 +1,42 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
|
* This file is part of the Distant Horizons mod
|
||||||
* licensed under the GNU GPL v3 License.
|
* licensed under the GNU LGPL v3 License.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020-2022 James Seibel
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
* the Free Software Foundation, version 3.
|
* the Free Software Foundation, version 3.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.seibel.lod.core.enums.config;
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import com.seibel.lod.core.util.LodUtil;
|
import com.seibel.distanthorizons.coreapi.util.MathUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* chunk <Br>
|
* BLOCK <Br>
|
||||||
* half_chunk <Br>
|
* TWO_BLOCKS <Br>
|
||||||
* four_blocks <br>
|
* FOUR_BLOCKS <br>
|
||||||
* two_blocks <Br>
|
* HALF_CHUNK <Br>
|
||||||
* block <br>
|
* CHUNK <br>
|
||||||
*
|
*
|
||||||
* @author James Seibel
|
* @author James Seibel
|
||||||
* @author Leonardo Amato
|
* @author Leonardo Amato
|
||||||
* @version 9-25-2021
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
*/
|
*/
|
||||||
public enum HorizontalResolution
|
public enum EDhApiMaxHorizontalResolution
|
||||||
{
|
{
|
||||||
/** render 256 LODs for each chunk */
|
/** render 256 LODs for each chunk */
|
||||||
BLOCK(16, 0),
|
BLOCK(16, 0),
|
||||||
@@ -54,8 +55,6 @@ public enum HorizontalResolution
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How many DataPoints should
|
* How many DataPoints should
|
||||||
* be drawn per side, per LodChunk
|
* be drawn per side, per LodChunk
|
||||||
@@ -85,22 +84,22 @@ public enum HorizontalResolution
|
|||||||
* 2nd dimension: An array of all LodDetails that are less than or <br>
|
* 2nd dimension: An array of all LodDetails that are less than or <br>
|
||||||
* equal to that detailLevel
|
* equal to that detailLevel
|
||||||
*/
|
*/
|
||||||
private static HorizontalResolution[][] lowerDetailArrays;
|
private static EDhApiMaxHorizontalResolution[][] lowerDetailArrays;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HorizontalResolution(int newLengthCount, int newDetailLevel)
|
EDhApiMaxHorizontalResolution(int newLengthCount, int newDetailLevel)
|
||||||
{
|
{
|
||||||
detailLevel = (byte) newDetailLevel;
|
this.detailLevel = (byte) newDetailLevel;
|
||||||
dataPointLengthCount = newLengthCount;
|
this.dataPointLengthCount = newLengthCount;
|
||||||
dataPointWidth = 16 / dataPointLengthCount;
|
this.dataPointWidth = 16 / this.dataPointLengthCount;
|
||||||
|
|
||||||
startX = new int[dataPointLengthCount * dataPointLengthCount];
|
this.startX = new int[this.dataPointLengthCount * this.dataPointLengthCount];
|
||||||
endX = new int[dataPointLengthCount * dataPointLengthCount];
|
this.endX = new int[this.dataPointLengthCount * this.dataPointLengthCount];
|
||||||
|
|
||||||
startZ = new int[dataPointLengthCount * dataPointLengthCount];
|
this.startZ = new int[this.dataPointLengthCount * this.dataPointLengthCount];
|
||||||
endZ = new int[dataPointLengthCount * dataPointLengthCount];
|
this.endZ = new int[this.dataPointLengthCount * this.dataPointLengthCount];
|
||||||
|
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
@@ -108,11 +107,11 @@ public enum HorizontalResolution
|
|||||||
{
|
{
|
||||||
for (int z = 0; z < newLengthCount; z++)
|
for (int z = 0; z < newLengthCount; z++)
|
||||||
{
|
{
|
||||||
startX[index] = x * dataPointWidth;
|
this.startX[index] = x * this.dataPointWidth;
|
||||||
startZ[index] = z * dataPointWidth;
|
this.startZ[index] = z * this.dataPointWidth;
|
||||||
|
|
||||||
endX[index] = (x * dataPointWidth) + dataPointWidth;
|
this.endX[index] = (x * this.dataPointWidth) + this.dataPointWidth;
|
||||||
endZ[index] = (z * dataPointWidth) + dataPointWidth;
|
this.endZ[index] = (z * this.dataPointWidth) + this.dataPointWidth;
|
||||||
|
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
@@ -122,27 +121,28 @@ public enum HorizontalResolution
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//================//
|
||||||
|
// static methods //
|
||||||
|
//================//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of all LodDetails that have a detail level
|
* Returns an array of all LodDetails that have a detail level
|
||||||
* that is less than or equal to the given LodDetail
|
* that is less than or equal to the given LodDetail
|
||||||
*/
|
*/
|
||||||
public static HorizontalResolution[] getSelfAndLowerDetails(HorizontalResolution detail)
|
public static EDhApiMaxHorizontalResolution[] getSelfAndLowerDetails(EDhApiMaxHorizontalResolution detail)
|
||||||
{
|
{
|
||||||
if (lowerDetailArrays == null)
|
if (lowerDetailArrays == null)
|
||||||
{
|
{
|
||||||
// run first time setup
|
// run first time setup
|
||||||
lowerDetailArrays = new HorizontalResolution[HorizontalResolution.values().length][];
|
lowerDetailArrays = new EDhApiMaxHorizontalResolution[EDhApiMaxHorizontalResolution.values().length][];
|
||||||
|
|
||||||
// go through each LodDetail
|
// go through each LodDetail
|
||||||
for (HorizontalResolution currentDetail : HorizontalResolution.values())
|
for (EDhApiMaxHorizontalResolution currentDetail : EDhApiMaxHorizontalResolution.values())
|
||||||
{
|
{
|
||||||
ArrayList<HorizontalResolution> lowerDetails = new ArrayList<>();
|
ArrayList<EDhApiMaxHorizontalResolution> lowerDetails = new ArrayList<>();
|
||||||
|
|
||||||
// find the details lower than currentDetail
|
// find the details lower than currentDetail
|
||||||
for (HorizontalResolution compareDetail : HorizontalResolution.values())
|
for (EDhApiMaxHorizontalResolution compareDetail : EDhApiMaxHorizontalResolution.values())
|
||||||
{
|
{
|
||||||
if (currentDetail.detailLevel <= compareDetail.detailLevel)
|
if (currentDetail.detailLevel <= compareDetail.detailLevel)
|
||||||
{
|
{
|
||||||
@@ -154,7 +154,7 @@ public enum HorizontalResolution
|
|||||||
Collections.sort(lowerDetails);
|
Collections.sort(lowerDetails);
|
||||||
Collections.reverse(lowerDetails);
|
Collections.reverse(lowerDetails);
|
||||||
|
|
||||||
lowerDetailArrays[currentDetail.detailLevel] = lowerDetails.toArray(new HorizontalResolution[lowerDetails.size()]);
|
lowerDetailArrays[currentDetail.detailLevel] = lowerDetails.toArray(new EDhApiMaxHorizontalResolution[lowerDetails.size()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,14 +162,13 @@ public enum HorizontalResolution
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns what detail level should be used at a given distance and maxDistance. */
|
/** Returns what detail level should be used at a given distance and maxDistance. */
|
||||||
public static HorizontalResolution getDetailForDistance(HorizontalResolution maxDetailLevel, int distance, int maxDistance)
|
public static EDhApiMaxHorizontalResolution getDetailForDistance(EDhApiMaxHorizontalResolution maxDetailLevel, int distance, int maxDistance)
|
||||||
{
|
{
|
||||||
HorizontalResolution[] lowerDetails = getSelfAndLowerDetails(maxDetailLevel);
|
EDhApiMaxHorizontalResolution[] lowerDetails = getSelfAndLowerDetails(maxDetailLevel);
|
||||||
int distanceBetweenDetails = maxDistance / lowerDetails.length;
|
int distanceBetweenDetails = maxDistance / lowerDetails.length;
|
||||||
int index = LodUtil.clamp(0, distance / distanceBetweenDetails, lowerDetails.length - 1);
|
int index = MathUtil.clamp(0, distance / distanceBetweenDetails, lowerDetails.length - 1);
|
||||||
|
|
||||||
return lowerDetails[index];
|
return lowerDetails[index];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2022 Tom Lee (TomTheFurry)
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NAME_ONLY, <br>
|
||||||
|
* IP_ONLY, <br>
|
||||||
|
* NAME_IP, <br>
|
||||||
|
* NAME_IP_PORT, <br>
|
||||||
|
* NAME_IP_PORT_MC_VERSION, <br> <br>
|
||||||
|
*
|
||||||
|
* Determines how the multiplayer folders should be named.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiServerFolderNameMode
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
/** Only use the server name */
|
||||||
|
NAME_ONLY,
|
||||||
|
|
||||||
|
/** Only use the server IP */
|
||||||
|
IP_ONLY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {SERVER_NAME} IP {IP} <br>
|
||||||
|
* Example: Minecraft Server IP 192.168.1.40
|
||||||
|
*/
|
||||||
|
NAME_IP,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {SERVER_NAME} IP {IP}:{PORT} <br>
|
||||||
|
* Example: Minecraft Server IP 192.168.1.40:25565
|
||||||
|
*/
|
||||||
|
NAME_IP_PORT,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {SERVER_NAME} IP {IP} <br>
|
||||||
|
* Example: Minecraft Server IP 192.168.1.40:25565 GameVersion 1.16.5 <Br> <br>
|
||||||
|
*
|
||||||
|
* Not normally recommended, since the game version can change if the
|
||||||
|
* server installs paper or some other jar. <br>
|
||||||
|
* This is just here to provide backwards compatibility.
|
||||||
|
*/
|
||||||
|
NAME_IP_PORT_MC_VERSION;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* STABLE, <br>
|
||||||
|
* NIGHTLY, <br><br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiUpdateBranch
|
||||||
|
{
|
||||||
|
STABLE,
|
||||||
|
NIGHTLY
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NEVER, <br>
|
||||||
|
* DYNAMIC, <br>
|
||||||
|
* ALWAYS <br> <br>
|
||||||
|
*
|
||||||
|
* This represents how far the LODs should overlap with
|
||||||
|
* the vanilla Minecraft terrain.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
@Deprecated // not currently in use, if the config this enum represents is re-implemented, the deprecated flag can be removed
|
||||||
|
public enum EDhApiVanillaOverdraw
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Don't draw LODs where a minecraft chunk could be.
|
||||||
|
* Use Overdraw Offset to tweak the border thickness.
|
||||||
|
*/
|
||||||
|
NEVER,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw LODs over the farther minecraft chunks.
|
||||||
|
* Dynamically decides the border thickness
|
||||||
|
*/
|
||||||
|
DYNAMIC,
|
||||||
|
|
||||||
|
/** Draw LODs over all minecraft chunks. */
|
||||||
|
ALWAYS,
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.coreapi.util.MathUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HEIGHT_MAP <br>
|
||||||
|
* LOW <br>
|
||||||
|
* MEDIUM <br>
|
||||||
|
* HIGH <br>
|
||||||
|
* EXTREME <br>
|
||||||
|
*
|
||||||
|
* @author Leonardo Amato
|
||||||
|
* @version 2024-4-6
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiVerticalQuality
|
||||||
|
{
|
||||||
|
HEIGHT_MAP( new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}),
|
||||||
|
LOW( new int[]{4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1}),
|
||||||
|
MEDIUM( new int[]{6, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1}),
|
||||||
|
HIGH( new int[]{16, 8, 4, 3, 3, 3, 3, 3, 3, 3, 1}),
|
||||||
|
VERY_HIGH( new int[]{32, 16, 8, 4, 4, 3, 3, 3, 3, 3, 1}),
|
||||||
|
EXTREME( new int[]{64, 32, 8, 4, 4, 3, 3, 3, 3, 3, 1}),
|
||||||
|
PIXEL_ART( new int[]{512, 64, 16, 8, 4, 3, 3, 3, 3, 3, 1});
|
||||||
|
|
||||||
|
/** represents how many LODs can be rendered in a single vertical slice */
|
||||||
|
public final int[] maxVerticalData;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
EDhApiVerticalQuality(int[] maxVerticalData) { this.maxVerticalData = maxVerticalData; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public int calculateMaxVerticalData(byte dataDetail)
|
||||||
|
{
|
||||||
|
// for detail levels lower than what the enum defines, use the lowest quality item
|
||||||
|
int index = MathUtil.clamp(0, dataDetail, this.maxVerticalData.length - 1);
|
||||||
|
return this.maxVerticalData[index];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MERGE_SAME_BLOCKS <br>
|
||||||
|
* VISUALLY_EQUAL <br><br>
|
||||||
|
*
|
||||||
|
* @version 2024-3-27
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiWorldCompressionMode
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Every block/biome change is recorded in the database. <br>
|
||||||
|
* This is what DH 2.0 and 2.0.1 all used by default and will store a lot of data.
|
||||||
|
*/
|
||||||
|
MERGE_SAME_BLOCKS(0),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Only visible block/biome changes are recorded in the database. <Br>
|
||||||
|
* Hidden blocks (IE ores) are ignored.
|
||||||
|
*/
|
||||||
|
VISUALLY_EQUAL(1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** More stable than using the ordinal of the enum */
|
||||||
|
public final byte value;
|
||||||
|
|
||||||
|
EDhApiWorldCompressionMode(int value) { this.value = (byte) value; }
|
||||||
|
|
||||||
|
|
||||||
|
public static EDhApiWorldCompressionMode getFromValue(byte value)
|
||||||
|
{
|
||||||
|
EDhApiWorldCompressionMode[] enumList = EDhApiWorldCompressionMode.values();
|
||||||
|
for (int i = 0; i < enumList.length; i++)
|
||||||
|
{
|
||||||
|
if (enumList[i].value == value)
|
||||||
|
{
|
||||||
|
return enumList[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new IllegalArgumentException("No lossy compression mode with the value ["+value+"]");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config.quickOptions;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CUSTOM, <br><br>
|
||||||
|
*
|
||||||
|
* MINIMUM, <br>
|
||||||
|
* LOW, <br>
|
||||||
|
* MEDIUM, <br>
|
||||||
|
* HIGH, <br>
|
||||||
|
* EXTREME, <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiQualityPreset
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
@DisallowSelectingViaConfigGui
|
||||||
|
CUSTOM,
|
||||||
|
|
||||||
|
MINIMUM,
|
||||||
|
LOW,
|
||||||
|
MEDIUM,
|
||||||
|
HIGH,
|
||||||
|
EXTREME;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.config.quickOptions;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CUSTOM, <br><br>
|
||||||
|
*
|
||||||
|
* MINIMAL_IMPACT, <br>
|
||||||
|
* LOW_IMPACT, <br>
|
||||||
|
* BALANCED, <br>
|
||||||
|
* AGGRESSIVE, <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiThreadPreset
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
@DisallowSelectingViaConfigGui
|
||||||
|
CUSTOM,
|
||||||
|
|
||||||
|
MINIMAL_IMPACT,
|
||||||
|
LOW_IMPACT,
|
||||||
|
BALANCED,
|
||||||
|
AGGRESSIVE,
|
||||||
|
I_PAID_FOR_THE_WHOLE_CPU,
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OFF, <br>
|
||||||
|
* SHOW_DETAIL, <br>
|
||||||
|
* SHOW_GENMODE, <br>
|
||||||
|
* SHOW_OVERLAPPING_QUADS, <br>
|
||||||
|
* SHOW_RENDER_SOURCE_FLAG, <br>
|
||||||
|
*
|
||||||
|
* @author Leetom
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-4-6
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiDebugRendering
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
/** LODs are rendered normally */
|
||||||
|
OFF,
|
||||||
|
|
||||||
|
/** LOD colors are based on their detail */
|
||||||
|
SHOW_DETAIL,
|
||||||
|
|
||||||
|
/** Block Materials are often used by Iris shaders to determine how LODs should be rendered */
|
||||||
|
SHOW_BLOCK_MATERIAL,
|
||||||
|
|
||||||
|
/** Only draw overlapping LOD quads. */
|
||||||
|
SHOW_OVERLAPPING_QUADS,
|
||||||
|
|
||||||
|
/** LOD colors are based on renderSource flags. */
|
||||||
|
SHOW_RENDER_SOURCE_FLAG;
|
||||||
|
|
||||||
|
|
||||||
|
public static EDhApiDebugRendering next(EDhApiDebugRendering type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case OFF:
|
||||||
|
return SHOW_DETAIL;
|
||||||
|
case SHOW_DETAIL:
|
||||||
|
return SHOW_BLOCK_MATERIAL;
|
||||||
|
case SHOW_BLOCK_MATERIAL:
|
||||||
|
return SHOW_OVERLAPPING_QUADS;
|
||||||
|
case SHOW_OVERLAPPING_QUADS:
|
||||||
|
return SHOW_RENDER_SOURCE_FLAG;
|
||||||
|
default:
|
||||||
|
return OFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static EDhApiDebugRendering previous(EDhApiDebugRendering type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case OFF:
|
||||||
|
return SHOW_RENDER_SOURCE_FLAG;
|
||||||
|
case SHOW_RENDER_SOURCE_FLAG:
|
||||||
|
return SHOW_OVERLAPPING_QUADS;
|
||||||
|
case SHOW_OVERLAPPING_QUADS:
|
||||||
|
return SHOW_DETAIL;
|
||||||
|
default:
|
||||||
|
return OFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,42 +1,48 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
|
* This file is part of the Distant Horizons mod
|
||||||
* licensed under the GNU GPL v3 License.
|
* licensed under the GNU LGPL v3 License.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020-2022 James Seibel
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
* the Free Software Foundation, version 3.
|
* the Free Software Foundation, version 3.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.seibel.lod.core.enums.rendering;
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* USE_DEFAULT_FOG_COLOR, <br>
|
* USE_DEFAULT_FOG_COLOR, <br>
|
||||||
* USE_SKY_COLOR, <br>
|
* USE_SKY_COLOR, <br>
|
||||||
*
|
*
|
||||||
* @author James Seibel
|
* @author James Seibel
|
||||||
* @version 11-27-2021
|
* @version 2024-4-6
|
||||||
|
* @since API 1.1.0
|
||||||
*/
|
*/
|
||||||
public enum FogColorMode
|
public enum EDhApiFogColorMode
|
||||||
{
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items: up the API minor version
|
||||||
|
// when removing items: up the API major version
|
||||||
|
|
||||||
/** Fog uses Minecraft's fog color. */
|
/** Fog uses Minecraft's fog color. */
|
||||||
USE_WORLD_FOG_COLOR,
|
USE_WORLD_FOG_COLOR,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replicates the effect of the clear sky mod.
|
* Replicates the effect of the clear sky mod.
|
||||||
* Making the fog blend in with the sky better
|
* Making the fog blend in with the sky better
|
||||||
|
* For it to look good you need one of the following mods:
|
||||||
* https://www.curseforge.com/minecraft/mc-mods/clear-skies
|
* https://www.curseforge.com/minecraft/mc-mods/clear-skies
|
||||||
* https://www.curseforge.com/minecraft/mc-mods/clear-skies-forge-port
|
* https://www.curseforge.com/minecraft/mc-mods/clear-skies-forge-port
|
||||||
* For it to look good you need one of those mods
|
|
||||||
*/
|
*/
|
||||||
USE_SKY_COLOR,
|
USE_SKY_COLOR,
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* USE_OPTIFINE_FOG_SETTING, <br>
|
||||||
|
* FOG_ENABLED, <br>
|
||||||
|
* FOG_DISABLED <br>
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2022-6-2
|
||||||
|
*/
|
||||||
|
public enum EDhApiFogDrawMode
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use whatever Fog setting optifine is using.
|
||||||
|
* If optifine isn't installed this defaults to FOG_ENABLED.
|
||||||
|
*/
|
||||||
|
USE_OPTIFINE_SETTING,
|
||||||
|
|
||||||
|
FOG_ENABLED,
|
||||||
|
FOG_DISABLED;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LINEAR, <br>
|
||||||
|
* EXPONENTIAL, <br>
|
||||||
|
* EXPONENTIAL_SQUARED <br>
|
||||||
|
*
|
||||||
|
* @author Leetom
|
||||||
|
* @version 2022-6-30
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiFogFalloff
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
LINEAR,
|
||||||
|
EXPONENTIAL,
|
||||||
|
EXPONENTIAL_SQUARED,
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BASIC <br>
|
||||||
|
* IGNORE_HEIGHT <br>
|
||||||
|
* ADDITION <br>
|
||||||
|
* MAX <br>
|
||||||
|
* MULTIPLY <br>
|
||||||
|
* INVERSE_MULTIPLY <br>
|
||||||
|
* LIMITED_ADDITION <br>
|
||||||
|
* MULTIPLY_ADDITION <br>
|
||||||
|
* INVERSE_MULTIPLY_ADDITION <br>
|
||||||
|
* AVERAGE <br>
|
||||||
|
*
|
||||||
|
* @author Leetom
|
||||||
|
* @version 2024-4-6
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiHeightFogMixMode
|
||||||
|
{
|
||||||
|
BASIC,
|
||||||
|
IGNORE_HEIGHT,
|
||||||
|
ADDITION,
|
||||||
|
MAX,
|
||||||
|
MULTIPLY,
|
||||||
|
INVERSE_MULTIPLY,
|
||||||
|
LIMITED_ADDITION,
|
||||||
|
MULTIPLY_ADDITION,
|
||||||
|
INVERSE_MULTIPLY_ADDITION,
|
||||||
|
AVERAGE,
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ABOVE_CAMERA, <br>
|
||||||
|
* BELOW_CAMERA, <br>
|
||||||
|
* ABOVE_AND_BELOW_CAMERA, <br>
|
||||||
|
* ABOVE_SET_HEIGHT, <br>
|
||||||
|
* BELOW_SET_HEIGHT, <br>
|
||||||
|
* ABOVE_AND_BELOW_SET_HEIGHT, <br>
|
||||||
|
*
|
||||||
|
* @author Leetom
|
||||||
|
* @version 2024-4-6
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiHeightFogMode
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
ABOVE_CAMERA(true, true, false),
|
||||||
|
BELOW_CAMERA(true, false, true),
|
||||||
|
ABOVE_AND_BELOW_CAMERA(true, true, true),
|
||||||
|
ABOVE_SET_HEIGHT(false, true, false),
|
||||||
|
BELOW_SET_HEIGHT(false, false, true),
|
||||||
|
ABOVE_AND_BELOW_SET_HEIGHT(false, true, true);
|
||||||
|
|
||||||
|
public final boolean basedOnCamera;
|
||||||
|
public final boolean above;
|
||||||
|
public final boolean below;
|
||||||
|
|
||||||
|
EDhApiHeightFogMode(boolean basedOnCamera, boolean above, boolean below)
|
||||||
|
{
|
||||||
|
this.basedOnCamera = basedOnCamera;
|
||||||
|
this.above = above;
|
||||||
|
this.below = below;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OPAQUE_AND_TRANSPARENT, <br>
|
||||||
|
* OPAQUE, <br>
|
||||||
|
* TRANSPARENT, <br>
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-1-30
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiRenderPass
|
||||||
|
{
|
||||||
|
OPAQUE_AND_TRANSPARENT,
|
||||||
|
OPAQUE,
|
||||||
|
TRANSPARENT,
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default <br>
|
||||||
|
* Debug <br>
|
||||||
|
* Disabled <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiRendererMode
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
DEFAULT,
|
||||||
|
DEBUG,
|
||||||
|
DISABLED;
|
||||||
|
|
||||||
|
|
||||||
|
/** Used by the config GUI to cycle through the available rendering options */
|
||||||
|
public static EDhApiRendererMode next(EDhApiRendererMode type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case DEFAULT:
|
||||||
|
return DEBUG;
|
||||||
|
case DEBUG:
|
||||||
|
return DISABLED;
|
||||||
|
default:
|
||||||
|
return DEFAULT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Used by the config GUI to cycle through the available rendering options */
|
||||||
|
public static EDhApiRendererMode previous(EDhApiRendererMode type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case DEFAULT:
|
||||||
|
return DISABLED;
|
||||||
|
case DEBUG:
|
||||||
|
return DEFAULT;
|
||||||
|
default:
|
||||||
|
return DEBUG;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.rendering;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DISABLED, <br>
|
||||||
|
* FAKE, <br>
|
||||||
|
* COMPLETE, <br>
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @version 2024-4-6
|
||||||
|
*/
|
||||||
|
public enum EDhApiTransparency
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
DISABLED(false, false),
|
||||||
|
FAKE(true, true),
|
||||||
|
COMPLETE(true, false);
|
||||||
|
|
||||||
|
public final boolean transparencyEnabled;
|
||||||
|
public final boolean fakeTransparencyEnabled;
|
||||||
|
|
||||||
|
EDhApiTransparency(boolean transparencyEnabled, boolean fakeTransparencyEnabled)
|
||||||
|
{
|
||||||
|
this.transparencyEnabled = transparencyEnabled;
|
||||||
|
this.fakeTransparencyEnabled = fakeTransparencyEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.worldGeneration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PRE_EXISTING_ONLY <br>
|
||||||
|
* SURFACE <br>
|
||||||
|
* FEATURES <br><br>
|
||||||
|
*
|
||||||
|
* In order of fastest to slowest.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @author Leonardo Amato
|
||||||
|
* @version 2022-12-10
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiDistantGeneratorMode
|
||||||
|
{
|
||||||
|
// Reminder:
|
||||||
|
// when adding items up the API minor version
|
||||||
|
// when removing items up the API major version
|
||||||
|
|
||||||
|
|
||||||
|
/** Don't generate any new terrain, just generate LODs for already generated chunks. */
|
||||||
|
PRE_EXISTING_ONLY((byte) 1),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Not currently implemented <br><br>
|
||||||
|
*
|
||||||
|
* Only generate the biomes and use biome
|
||||||
|
* grass/foliage color, water color, or ice color
|
||||||
|
* to generate the color. <br>
|
||||||
|
* Doesn't generate height, everything is shown at sea level.
|
||||||
|
*/
|
||||||
|
//BIOME_ONLY((byte) 2),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Not currently implemented <br><br>
|
||||||
|
*
|
||||||
|
* Same as BIOME_ONLY, except instead
|
||||||
|
* of always using sea level as the LOD height
|
||||||
|
* different biome types (mountain, ocean, forest, etc.)
|
||||||
|
* use predetermined heights to simulate having height data.
|
||||||
|
*/
|
||||||
|
//BIOME_ONLY_SIMULATE_HEIGHT((byte) 3),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate the world surface,
|
||||||
|
* this does NOT include caves, trees,
|
||||||
|
* or structures.
|
||||||
|
*/
|
||||||
|
SURFACE((byte) 4),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate including structures.
|
||||||
|
* NOTE: This may cause world generation bugs or instability,
|
||||||
|
* since some features can cause concurrentModification exceptions.
|
||||||
|
*/
|
||||||
|
FEATURES((byte) 5);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** The higher the number the more complete the generation is. */
|
||||||
|
public final byte complexity;
|
||||||
|
|
||||||
|
|
||||||
|
EDhApiDistantGeneratorMode(byte complexity) { this.complexity = complexity; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.worldGeneration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SERVER_LEVEL, <br>
|
||||||
|
* CLIENT_LEVEL, <br>
|
||||||
|
* UNKNOWN <br>
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-7-13
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiLevelType
|
||||||
|
{
|
||||||
|
SERVER_LEVEL,
|
||||||
|
CLIENT_LEVEL,
|
||||||
|
UNKNOWN
|
||||||
|
}
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.worldGeneration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EMPTY, <br>
|
||||||
|
* STRUCTURE_START, <br>
|
||||||
|
* STRUCTURE_REFERENCE, <br>
|
||||||
|
* BIOMES, <br>
|
||||||
|
* NOISE, <br>
|
||||||
|
* SURFACE, <br>
|
||||||
|
* CARVERS, <br>
|
||||||
|
* LIQUID_CARVERS, <br>
|
||||||
|
* FEATURES, <br>
|
||||||
|
* LIGHT, <br>
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-4-20
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiWorldGenerationStep
|
||||||
|
{
|
||||||
|
EMPTY(0, "empty"),
|
||||||
|
STRUCTURE_START(1, "structure_start"),
|
||||||
|
STRUCTURE_REFERENCE(2, "structure_reference"),
|
||||||
|
BIOMES(3, "biomes"),
|
||||||
|
NOISE(4, "noise"),
|
||||||
|
SURFACE(5, "surface"),
|
||||||
|
CARVERS(6, "carvers"),
|
||||||
|
LIQUID_CARVERS(7, "liquid_carvers"),
|
||||||
|
FEATURES(8, "features"),
|
||||||
|
LIGHT(9, "light");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** used when serializing this enum. */
|
||||||
|
public final String name;
|
||||||
|
public final byte value;
|
||||||
|
|
||||||
|
|
||||||
|
EDhApiWorldGenerationStep(int value, String name)
|
||||||
|
{
|
||||||
|
this.value = (byte) value;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=========//
|
||||||
|
// parsing //
|
||||||
|
//=========//
|
||||||
|
|
||||||
|
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
|
||||||
|
public static EDhApiWorldGenerationStep fromValue(int value)
|
||||||
|
{
|
||||||
|
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
|
||||||
|
{
|
||||||
|
if (genStep.value == value)
|
||||||
|
{
|
||||||
|
return genStep;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
|
||||||
|
public static EDhApiWorldGenerationStep fromName(String name)
|
||||||
|
{
|
||||||
|
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
|
||||||
|
{
|
||||||
|
if (genStep.name.equals(name))
|
||||||
|
{
|
||||||
|
return genStep;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.enums.worldGeneration;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
|
||||||
|
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* VANILLA_CHUNKS, <br>
|
||||||
|
* API_CHUNKS <br>
|
||||||
|
*
|
||||||
|
* @author Builderb0y, James Seibel
|
||||||
|
* @version 2023-12-21
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public enum EDhApiWorldGeneratorReturnType
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
|
||||||
|
* {@link IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
|
||||||
|
* will be used when generating terrain.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
VANILLA_CHUNKS,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
|
||||||
|
* {@link IDhApiWorldGenerator#generateApiChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
|
||||||
|
* will be used when generating terrain.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
API_CHUNKS;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implemented by wrappers so developers can
|
||||||
|
* access the underlying Minecraft object(s).
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-17
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiUnsafeWrapper
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the Minecraft object this wrapper contains. <br>
|
||||||
|
* <strong>Warning</strong>: This object will be Minecraft
|
||||||
|
* version dependent and may change without notice. <br> <br>
|
||||||
|
*
|
||||||
|
* In order to cast this object to something usable, you may want
|
||||||
|
* to use <code>obj.getClass()</code> when in your IDE
|
||||||
|
* in order to determine what object this method returns for
|
||||||
|
* the specific version of Minecraft you are developing for.
|
||||||
|
*/
|
||||||
|
Object getWrappedMcObject();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.block;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A Minecraft version independent way of handling Biomes.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 3-5-2022
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiBiomeWrapper extends IDhApiUnsafeWrapper
|
||||||
|
{
|
||||||
|
String getName();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.block;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A Minecraft version independent way of handling Blocks.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-11
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper
|
||||||
|
{
|
||||||
|
boolean isAir();
|
||||||
|
|
||||||
|
boolean isSolid();
|
||||||
|
boolean isLiquid();
|
||||||
|
|
||||||
|
// TODO:
|
||||||
|
// boolean hasNoCollision();
|
||||||
|
// boolean noFaceIsFullFace();
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.both.IDhApiWorldGenerationConfig;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.client.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This interfaces holds all config groups
|
||||||
|
* the API has access to for easy access.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiConfig
|
||||||
|
{
|
||||||
|
IDhApiGraphicsConfig graphics();
|
||||||
|
IDhApiWorldGenerationConfig worldGenerator();
|
||||||
|
IDhApiMultiplayerConfig multiplayer();
|
||||||
|
IDhApiMultiThreadingConfig multiThreading();
|
||||||
|
IDhApiGpuBuffersConfig gpuBuffers();
|
||||||
|
// note: DON'T add the Auto Updater to this API. We only want the user's to have the ability to control when things are downloaded to their machines.
|
||||||
|
//IDhApiLoggingConfig logging(); // TODO implement
|
||||||
|
IDhApiDebuggingConfig debugging();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This interface is just used to organize API config groups so
|
||||||
|
* they can be more easily handled together.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 9-15-2022
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiConfigGroup extends IBindable
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config;
|
||||||
|
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An interface for Distant Horizon's Config.
|
||||||
|
*
|
||||||
|
* @param <T> The data type of this config.
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-12-7
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiConfigValue<T>
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the active value for this config. <br>
|
||||||
|
* Returns the True value if either the config cannot be overridden by
|
||||||
|
* the API or if it hasn't been set by the API.
|
||||||
|
*/
|
||||||
|
T getValue();
|
||||||
|
/**
|
||||||
|
* Returns the value held by this config. <br>
|
||||||
|
* This is the value stored in the config file.
|
||||||
|
*/
|
||||||
|
T getTrueValue();
|
||||||
|
/**
|
||||||
|
* Returns the value of the config if it was set by the API.
|
||||||
|
* Returns null if the config hasn't been set by the API.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
T getApiValue();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the config's value. <br>
|
||||||
|
* If the newValue is set to null then the config
|
||||||
|
* will revert to using the True Value
|
||||||
|
* (IE the value visible in the config menu).<br>
|
||||||
|
* If the config cannot be set via the API this method will return false. <br><br>
|
||||||
|
*
|
||||||
|
* @return true if the value was set, false otherwise.
|
||||||
|
*/
|
||||||
|
boolean setValue(T newValue);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Un-sets the config's API value. <br>
|
||||||
|
* After this method is called this config will
|
||||||
|
* use the value set in the config menu.
|
||||||
|
*
|
||||||
|
* @return true if the value was set, false otherwise.
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
boolean clearValue();
|
||||||
|
|
||||||
|
/** @return true if this config can be set via the API, false otherwise. */
|
||||||
|
boolean getCanBeOverrodeByApi();
|
||||||
|
|
||||||
|
/** Returns the default value for this config. */
|
||||||
|
T getDefaultValue();
|
||||||
|
/** Returns the max value for this config, null if there is no max. */
|
||||||
|
T getMaxValue();
|
||||||
|
/** Returns the min value for this config, null if there is no min. */
|
||||||
|
T getMinValue();
|
||||||
|
|
||||||
|
/** Adds a {@link Consumer} that will be called whenever the config changes to a new value. */
|
||||||
|
void addChangeListener(Consumer<T> onValueChangeFunc);
|
||||||
|
//void removeListener(Consumer<T> onValueChangeFunc); // not currently implemented
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.both;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' world generation configuration. <br><br>
|
||||||
|
*
|
||||||
|
* Note: Chunks generated via DH's world generator are NOT saved in Minecraft's vanilla save system.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-9-15
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiWorldGenerationConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines whether LOD chunks will be generated
|
||||||
|
* outside Minecraft's vanilla render distance.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Boolean> enableDistantWorldGeneration();
|
||||||
|
|
||||||
|
/** Defines to what level LOD chunks will be generated. */
|
||||||
|
IDhApiConfigValue<EDhApiDistantGeneratorMode> distantGeneratorMode();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' fog configuration. <br><br>
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-9-6
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiAmbientOcclusionConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
/** Determines if Ambient Occlusion is rendered */
|
||||||
|
IDhApiConfigValue<Boolean> enabled();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines how many points in space are sampled for the occlusion test.
|
||||||
|
* Higher numbers will improve quality and reduce banding, but will increase GPU load.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Integer> sampleCount();
|
||||||
|
|
||||||
|
/** Determines the radius Screen Space Ambient Occlusion is applied, measured in blocks. */
|
||||||
|
IDhApiConfigValue<Double> radius();
|
||||||
|
|
||||||
|
/** Determines how dark the Screen Space Ambient Occlusion effect will be. */
|
||||||
|
IDhApiConfigValue<Double> strength();
|
||||||
|
|
||||||
|
/** Increasing the value can reduce banding at the cost of reducing the strength of the effect. */
|
||||||
|
IDhApiConfigValue<Double> bias();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines how dark the occlusion shadows can be. <br>
|
||||||
|
* 0 = totally black at the corners <br>
|
||||||
|
* 1 = no shadow
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> minLight();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The radius, measured in pixels, that blurring is calculated. <br>
|
||||||
|
* Higher numbers will reduce banding at the cost of GPU performance.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Integer> blurRadius();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiDebugRendering;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' debug configuration.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-9-15
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiDebuggingConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
/** Can be used to debug the standard fake chunk rendering. */
|
||||||
|
IDhApiConfigValue<EDhApiDebugRendering> debugRendering();
|
||||||
|
|
||||||
|
/** If enabled debug keybindings can be used. */
|
||||||
|
IDhApiConfigValue<Boolean> debugKeybindings();
|
||||||
|
|
||||||
|
/** If enabled all LODs will be rendered as wireframe. */
|
||||||
|
IDhApiConfigValue<Boolean> renderWireframe();
|
||||||
|
|
||||||
|
/** If enabled Distant Horizons will attempt to disable Minecraft's block rendering so only LODs will render. */
|
||||||
|
IDhApiConfigValue<Boolean> lodOnlyMode();
|
||||||
|
|
||||||
|
/** If enabled Distant Horizons' debug wireframe rendering will be enabled. */
|
||||||
|
IDhApiConfigValue<Boolean> debugWireframeRendering();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' fog configuration. <br><br>
|
||||||
|
*
|
||||||
|
* Note: unless an option explicitly states that it modifies
|
||||||
|
* Minecraft's vanilla rendering (like DisableVanillaFog)
|
||||||
|
* these settings will only affect Distant horizons' fog.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiFarFogConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Defines where the fog starts as a percent of the
|
||||||
|
* fake chunks render distance radius. <br>
|
||||||
|
* Can be greater than the fog end distance to invert the fog direction. <br> <br>
|
||||||
|
*
|
||||||
|
* 0.0 = fog starts at the camera <br>
|
||||||
|
* 1.0 = fog starts at the edge of the fake chunk render distance <br>
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> farFogStartDistance();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines where the fog ends as a percent of the radius
|
||||||
|
* of the fake chunks render distance. <br>
|
||||||
|
* Can be less than the fog start distance to invert the fog direction. <br> <br>
|
||||||
|
*
|
||||||
|
* 0.0 = fog ends at the camera <br>
|
||||||
|
* 1.0 = fog ends at the edge of the fake chunk render distance <br>
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> farFogEndDistance();
|
||||||
|
|
||||||
|
/** Defines how opaque the fog is at its thinnest point. */
|
||||||
|
IDhApiConfigValue<Double> farFogMinThickness();
|
||||||
|
|
||||||
|
/** Defines how opaque the fog is at its thickest point. */
|
||||||
|
IDhApiConfigValue<Double> farFogMaxThickness();
|
||||||
|
|
||||||
|
/** Defines how the fog changes in thickness. */
|
||||||
|
IDhApiConfigValue<EDhApiFogFalloff> farFogFalloff();
|
||||||
|
|
||||||
|
/** Defines the fog density. */
|
||||||
|
IDhApiConfigValue<Double> farFogDensity();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogColorMode;
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogDrawMode;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' fog configuration. <br><br>
|
||||||
|
*
|
||||||
|
* Note: unless an option explicitly states that it modifies
|
||||||
|
* Minecraft's vanilla rendering (like DisableVanillaFog)
|
||||||
|
* these settings will only affect Distant horizons' fog.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiFogConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
|
||||||
|
//===============//
|
||||||
|
// inner configs //
|
||||||
|
//===============//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The advanced fog config.
|
||||||
|
*/
|
||||||
|
IDhApiFarFogConfig farFog();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The height fog config.
|
||||||
|
*/
|
||||||
|
IDhApiHeightFogConfig heightFog();
|
||||||
|
|
||||||
|
//====================//
|
||||||
|
// basic fog settings //
|
||||||
|
//====================//
|
||||||
|
|
||||||
|
/** Should be used to enable/disable fog rendering. */
|
||||||
|
IDhApiConfigValue<EDhApiFogDrawMode> drawMode();
|
||||||
|
|
||||||
|
/** Can be used to enable support with mods that change vanilla MC's fog color. */
|
||||||
|
IDhApiConfigValue<EDhApiFogColorMode> color();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If enabled attempts to disable vanilla MC's fog on real chunks. <br>
|
||||||
|
* May not play nice with other fog editing mods.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Boolean> disableVanillaFog();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' OpenGL buffer configuration.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiGpuBuffersConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
|
||||||
|
/** Defines how geometry data is uploaded to the GPU. */
|
||||||
|
IDhApiConfigValue<EDhApiGpuUploadMethod> gpuUploadMethod();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines how long we should wait after uploading one
|
||||||
|
* Megabyte of geometry data to the GPU before uploading
|
||||||
|
* the next Megabyte of data. <br>
|
||||||
|
* This can be set to a non-zero number to reduce stuttering caused by
|
||||||
|
* uploading buffers to the GPU.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Integer> gpuUploadPerMegabyteInMilliseconds();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,191 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.config.*;
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiRendererMode;
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiTransparency;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' graphics/rendering configuration.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
//===============//
|
||||||
|
// inner configs //
|
||||||
|
//===============//
|
||||||
|
|
||||||
|
IDhApiFogConfig fog();
|
||||||
|
IDhApiAmbientOcclusionConfig ambientOcclusion();
|
||||||
|
IDhApiNoiseTextureConfig noiseTexture();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//========================//
|
||||||
|
// basic graphic settings //
|
||||||
|
//========================//
|
||||||
|
|
||||||
|
/** The distance is the radius measured in chunks. */
|
||||||
|
IDhApiConfigValue<Integer> chunkRenderDistance();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simplified version of {@link IDhApiGraphicsConfig#renderingMode()}
|
||||||
|
* that only enables/disables the fake chunk rendering. <br><br>
|
||||||
|
*
|
||||||
|
* Changing this config also changes {@link IDhApiGraphicsConfig#renderingMode()}'s value.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Boolean> renderingEnabled();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can be used to enable/disable fake chunk rendering or enable the debug renderer. <br><br>
|
||||||
|
*
|
||||||
|
* The debug renderer is used to confirm rendering is working at and will draw
|
||||||
|
* a single multicolor rhombus on the screen in skybox space (AKA behind MC's rendering). <br><br>
|
||||||
|
*
|
||||||
|
* Changing this config also changes {@link IDhApiGraphicsConfig#renderingEnabled()}'s value.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<EDhApiRendererMode> renderingMode();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//==================//
|
||||||
|
// graphic settings //
|
||||||
|
//==================//
|
||||||
|
|
||||||
|
/** Defines how detailed fake chunks are in the horizontal direction */
|
||||||
|
IDhApiConfigValue<EDhApiMaxHorizontalResolution> maxHorizontalResolution();
|
||||||
|
|
||||||
|
/** Defines how detailed fake chunks are in the vertical direction */
|
||||||
|
IDhApiConfigValue<EDhApiVerticalQuality> verticalQuality();
|
||||||
|
|
||||||
|
/** Modifies the quadratic function fake chunks use for horizontal quality drop-off. */
|
||||||
|
IDhApiConfigValue<EDhApiHorizontalQuality> horizontalQuality();
|
||||||
|
|
||||||
|
IDhApiConfigValue<EDhApiTransparency> transparency();
|
||||||
|
|
||||||
|
/** Defines what blocks won't be rendered as LODs. */
|
||||||
|
IDhApiConfigValue<EDhApiBlocksToAvoid> blocksToAvoid();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines if the color of avoided blocks will color the block below them. <Br>
|
||||||
|
* (IE: if flowers are avoided, should they color the grass below them?)
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Boolean> tintWithAvoidedBlocks();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The same as vanilla Minecraft's biome blending. <br><br>
|
||||||
|
*
|
||||||
|
* 0 = blending of 1x1 aka off <br>
|
||||||
|
* 1 = blending of 3x3 <br>
|
||||||
|
* 2 = blending of 5x5 <br>
|
||||||
|
* ... <br>
|
||||||
|
*/
|
||||||
|
// IDhApiConfigValue<Integer> getBiomeBlending();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//===========================//
|
||||||
|
// advanced graphic settings //
|
||||||
|
//===========================//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the radius used by the near clip shader to reduce
|
||||||
|
* overdraw. <br>
|
||||||
|
* Measured in percentages of the render distance, IE: <br>
|
||||||
|
* 0.5 = 50% vanilla render distance <br>
|
||||||
|
* 0.1 = 10% vanilla render distance <br>
|
||||||
|
* <br>
|
||||||
|
* Setting this to 0 will reduce/prevent holes in the world due to clipping to close to the camera
|
||||||
|
* but may cause overdraw issues with transparent or non-full blocks.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> overdrawPreventionRadius();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifies how bright fake chunks are. <br>
|
||||||
|
* This is done when generating the vertex data and is applied before any shaders.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> brightnessMultiplier();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifies how saturated fake chunks are. <br>
|
||||||
|
* This is done when generating the vertex data and is applied before any shaders.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> saturationMultiplier();
|
||||||
|
|
||||||
|
/** Defines if Distant Horizons should attempt to cull fake chunk cave geometry. */
|
||||||
|
IDhApiConfigValue<Boolean> caveCullingEnabled();
|
||||||
|
|
||||||
|
/** Defines what height cave culling should be used below if enabled. */
|
||||||
|
IDhApiConfigValue<Integer> caveCullingHeight();
|
||||||
|
|
||||||
|
/** This ratio is relative to Earth's real world curvature. */
|
||||||
|
IDhApiConfigValue<Integer> earthCurvatureRatio();
|
||||||
|
|
||||||
|
/** If enabled vanilla chunk rendering is disabled and only fake chunks are rendered. */
|
||||||
|
IDhApiConfigValue<Boolean> lodOnlyMode();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setting this to a non-zero number will modify vanilla Minecraft's LOD Bias,
|
||||||
|
* increasing how quickly its textures fade away.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> lodBias();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines how LODs should be shaded.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<EDhApiLodShading> lodShading();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets whether LODs outside the view frustum culling will
|
||||||
|
* be culled. <br><br>
|
||||||
|
*
|
||||||
|
* Disabling this will prevent LODs not rendering on the corner
|
||||||
|
* of the users vision and may fix issues if LODs appear to
|
||||||
|
* start/stop rendering incorrectly based on the camera direction,
|
||||||
|
* but will also reduce FPS.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @see IDhApiGraphicsConfig#disableShadowFrustumCulling()
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Boolean> disableFrustumCulling();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identical to the other frustum culling option, except that it is
|
||||||
|
* only used when a shader mod is present using the DH API
|
||||||
|
* and the shadow pass is being rendered. <br><br>
|
||||||
|
*
|
||||||
|
* Disable this if shadows render incorrectly.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
* @see IDhApiGraphicsConfig#disableFrustumCulling()
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Boolean> disableShadowFrustumCulling();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff;
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode;
|
||||||
|
import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMode;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' fog configuration. <br><br>
|
||||||
|
*
|
||||||
|
* Note: unless an option explicitly states that it modifies
|
||||||
|
* Minecraft's vanilla rendering (like DisableVanillaFog)
|
||||||
|
* these settings will only affect Distant horizons' fog.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiHeightFogConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
|
||||||
|
/** Defines how the height fog mixes. */
|
||||||
|
IDhApiConfigValue<EDhApiHeightFogMixMode> heightFogMixMode();
|
||||||
|
|
||||||
|
/** Defines how the height fog is drawn relative to the camera or world. */
|
||||||
|
IDhApiConfigValue<EDhApiHeightFogMode> heightFogMode();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the height fog's base height if {@link IDhApiHeightFogConfig#heightFogMode()}
|
||||||
|
* is set to use a specific height.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> heightFogBaseHeight();
|
||||||
|
|
||||||
|
/** Defines the height fog's starting height as a percent of the world height. */
|
||||||
|
IDhApiConfigValue<Double> heightFogStartingHeightPercent();
|
||||||
|
|
||||||
|
/** Defines the height fog's ending height as a percent of the world height. */
|
||||||
|
IDhApiConfigValue<Double> heightFogEndingHeightPercent();
|
||||||
|
|
||||||
|
/** Defines how opaque the height fog is at its thinnest point. */
|
||||||
|
IDhApiConfigValue<Double> heightFogMinThickness();
|
||||||
|
|
||||||
|
/** Defines how opaque the height fog is at its thickest point. */
|
||||||
|
IDhApiConfigValue<Double> heightFogMaxThickness();
|
||||||
|
|
||||||
|
/** Defines how the height fog changes in thickness. */
|
||||||
|
IDhApiConfigValue<EDhApiFogFalloff> heightFogFalloff();
|
||||||
|
|
||||||
|
/** Defines the height fog's density. */
|
||||||
|
IDhApiConfigValue<Double> heightFogDensity();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' logging configuration. <br><br>
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiLoggingConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
// TODO implement
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' threading configuration.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-10-29
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiMultiThreadingConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines how many world generator threads are used to generate
|
||||||
|
* terrain outside Minecraft's vanilla render distance. <br>
|
||||||
|
* <br>
|
||||||
|
* If the number of threads is less than 1 it will be treated as a percentage
|
||||||
|
* representing how often the single thread will actively generate terrain.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Integer> worldGeneratorThreads();
|
||||||
|
|
||||||
|
/** Defines how many file handler threads are used. */
|
||||||
|
IDhApiConfigValue<Integer> fileHandlerThreads();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines how many threads are used
|
||||||
|
* to build LODs. <br><br>
|
||||||
|
*
|
||||||
|
* This includes: <br>
|
||||||
|
* - lighting <br>
|
||||||
|
* - Chunk -> LOD conversion <br>
|
||||||
|
* - Buffer generation <br>
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Integer> lodBuilderThreads();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
import com.seibel.distanthorizons.api.enums.config.EDhApiServerFolderNameMode;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' client-side multiplayer configuration.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiMultiplayerConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines how multiplayer server folders are named. <br>
|
||||||
|
* Note: Changing this while connected to a multiplayer world will cause undefined behavior!
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<EDhApiServerFolderNameMode> folderSavingMode();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the necessary similarity (as a percent) that two potential levels
|
||||||
|
* need in order to be considered the same. <br> <br>
|
||||||
|
*
|
||||||
|
* Setting this to zero causes every level of a specific dimension type to be considered
|
||||||
|
* the same level. <br>
|
||||||
|
* Setting this to a non-zero value allows for usage in servers that user Multiverse
|
||||||
|
* or similar mods.
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Double> multiverseSimilarityRequirement();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.config.client;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distant Horizons' noise texture configuration. <br><br>
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-6-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiNoiseTextureConfig extends IDhApiConfigGroup
|
||||||
|
{
|
||||||
|
/** If enabled a noise texture will be rendered on the LODs. */
|
||||||
|
IDhApiConfigValue<Boolean> noiseEnabled();
|
||||||
|
|
||||||
|
/** Defines how many steps of noise should be applied. */
|
||||||
|
IDhApiConfigValue<Integer> noiseSteps();
|
||||||
|
|
||||||
|
/** Defines how intense the noise will be. */
|
||||||
|
IDhApiConfigValue<Double> noiseIntensity();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines how far should the noise texture render before it fades away. (in blocks) <br>
|
||||||
|
* Set to 0 to disable noise from fading away
|
||||||
|
*/
|
||||||
|
IDhApiConfigValue<Integer> noiseDropoff();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.data;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
|
||||||
|
import com.seibel.distanthorizons.api.objects.DhApiResult;
|
||||||
|
import com.seibel.distanthorizons.api.objects.data.DhApiRaycastResult;
|
||||||
|
import com.seibel.distanthorizons.api.objects.data.DhApiTerrainDataPoint;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to interface with Distant Horizons' terrain data.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-22
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiTerrainDataRepo
|
||||||
|
{
|
||||||
|
|
||||||
|
//=========//
|
||||||
|
// getters //
|
||||||
|
//=========//
|
||||||
|
|
||||||
|
/** Returns the terrain datapoint at the given block position, at/or containing the given Y position. */
|
||||||
|
DhApiResult<DhApiTerrainDataPoint> getSingleDataPointAtBlockPos(IDhApiLevelWrapper levelWrapper, int blockPosX, int blockPosY, int blockPosZ);
|
||||||
|
/** Returns every datapoint in the column located at the given block X and Z position top to bottom. */
|
||||||
|
DhApiResult<DhApiTerrainDataPoint[]> getColumnDataAtBlockPos(IDhApiLevelWrapper levelWrapper, int blockPosX, int blockPosZ);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns every datapoint in the given chunk's X and Z position. <br><br>
|
||||||
|
*
|
||||||
|
* The returned array is ordered: [relativeBlockX][relativeBlockZ][columnIndex] <br>
|
||||||
|
* RelativeBlockX/Z are relative to the block position closest to negative infinity in the chunk's position. <br>
|
||||||
|
* The column data is ordered from top to bottom. Note: each column may have a different number of values. <br>
|
||||||
|
*/
|
||||||
|
DhApiResult<DhApiTerrainDataPoint[][][]> getAllTerrainDataAtChunkPos(IDhApiLevelWrapper levelWrapper, int chunkPosX, int chunkPosZ);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns every datapoint in the given region's X and Z position. <br><br>
|
||||||
|
*
|
||||||
|
* The returned array is ordered: [relativeBlockX][relativeBlockZ][columnIndex] <br>
|
||||||
|
* RelativeBlockX/Z are relative to the block position closest to negative infinity in the region's position. <br>
|
||||||
|
* The column data is ordered from top to bottom. Note: each column may have a different number of values. <br>
|
||||||
|
*/
|
||||||
|
DhApiResult<DhApiTerrainDataPoint[][][]> getAllTerrainDataAtRegionPos(IDhApiLevelWrapper levelWrapper, int regionPosX, int regionPosZ);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns every datapoint in the column located at the given detail level and X/Z position. <br>
|
||||||
|
* This can be used to return terrain data for non-standard sizes (IE 2x2 blocks or 2x2 chunks).
|
||||||
|
*
|
||||||
|
* @param detailLevel a positive byte defining the detail level of the returned data. <br>
|
||||||
|
* Every increase doubles the width of the returned area. <br>
|
||||||
|
* Example values: 0 = block, 1 = 2x2 blocks, 2 = 4x4 blocks, ... 4 = chunk (16x16 blocks), ... 9 = region (512x512 blocks) <br>
|
||||||
|
* See {@link EDhApiDetailLevel} for more information.
|
||||||
|
*/
|
||||||
|
DhApiResult<DhApiTerrainDataPoint[][][]> getAllTerrainDataAtDetailLevelAndPos(IDhApiLevelWrapper levelWrapper, byte detailLevel, int posX, int posZ);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the datapoint and position of the LOD
|
||||||
|
* at the end of the given ray. <br><br>
|
||||||
|
*
|
||||||
|
* Will return "success" with a null datapoint if the ray reaches the max length without finding any data.
|
||||||
|
*/
|
||||||
|
DhApiResult<DhApiRaycastResult> raycast(
|
||||||
|
IDhApiLevelWrapper levelWrapper,
|
||||||
|
double rayOriginX, double rayOriginY, double rayOriginZ,
|
||||||
|
float rayDirectionX, float rayDirectionY, float rayDirectionZ,
|
||||||
|
int maxRayBlockLength);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//=========//
|
||||||
|
// setters //
|
||||||
|
//=========//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the LOD data for the given chunk at the chunk's position. <br><br>
|
||||||
|
*
|
||||||
|
* Notes: <br>
|
||||||
|
* - Only works if the given {@link IDhApiLevelWrapper} points to a loaded level. <br>
|
||||||
|
* - If the player travels to this chunk, or the chunk is updated in some other way; your data will be replaced
|
||||||
|
* by whatever the current chunk is. <br>
|
||||||
|
* - This method may not update the LOD data immediately. Any other chunks have
|
||||||
|
* been queued to update, they will be handled first.
|
||||||
|
*
|
||||||
|
* @param levelWrapper the level wrapper that the chunk should be saved to.
|
||||||
|
* @param chunkObjectArray see {@link IDhApiWorldGenerator#generateChunks} for what objects are expected.
|
||||||
|
* @throws ClassCastException if chunkObjectArray doesn't contain the right objects.
|
||||||
|
* The exception will contain the expected object(s).
|
||||||
|
*/
|
||||||
|
public DhApiResult<Void> overwriteChunkDataAsync(IDhApiLevelWrapper levelWrapper, Object[] chunkObjectArray) throws ClassCastException;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.events;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
|
||||||
|
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IDependencyInjector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class takes care of dependency injection for API events.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-9-13
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiEventInjector extends IDependencyInjector<IDhApiEvent>
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unlinks the given event handler, preventing the handler from being called in the future.
|
||||||
|
*
|
||||||
|
* @param dependencyInterface the base interface for the {@link IDhApiEvent}
|
||||||
|
* @param dependencyClassToRemove the concrete {@link IDhApiEvent} class to remove
|
||||||
|
* @return true if the handler was unbound, false if the handler wasn't bound.
|
||||||
|
* @throws IllegalArgumentException if the implementation object doesn't implement the interface
|
||||||
|
*/
|
||||||
|
// Note to self: Don't try adding a generic type to IDhApiEvent, the constructor won't accept it
|
||||||
|
boolean unbind(Class<? extends IDhApiEvent> dependencyInterface, Class<? extends IDhApiEvent> dependencyClassToRemove) throws IllegalArgumentException;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fires all bound events of the given type (does nothing if no events are bound).
|
||||||
|
*
|
||||||
|
* @param abstractEvent event type
|
||||||
|
* @param eventParameterObject event parameter
|
||||||
|
* @param <T> the parameter type taken by the event handlers.
|
||||||
|
* @param <U> the {@link IDhApiEvent}'s class
|
||||||
|
* @return if any of the bound event handlers notified that this event should be canceled.
|
||||||
|
*/
|
||||||
|
<T, U extends IDhApiEvent<T>> boolean fireAllEvents(Class<U> abstractEvent, T eventParameterObject);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.factories;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBiomeWrapper;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBlockStateWrapper;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
|
||||||
|
import com.seibel.distanthorizons.api.DhApi;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This handles creating abstract wrapper objects.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-12-16
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiWrapperFactory
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Constructs a {@link IDhApiBiomeWrapper} for use by other DhApi methods.
|
||||||
|
*
|
||||||
|
* @param objectArray Expects the following Minecraft objects (in order) for each MC version: <br>
|
||||||
|
* <b>1.16</b> and <b>1.17</b><br>
|
||||||
|
* - [net.minecraft.world.level.biome.Biome] <br>
|
||||||
|
* <b>1.18</b> and <b>newer</b> <br>
|
||||||
|
* - {@literal [net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome>] }<br>
|
||||||
|
*
|
||||||
|
* @param levelWrapper Expects a {@link IDhApiLevelWrapper} returned by one of DH's {@link DhApi.Delayed#worldProxy} methods. <br>
|
||||||
|
* A custom implementation of {@link IDhApiLevelWrapper} will not be accepted.
|
||||||
|
*
|
||||||
|
* @throws ClassCastException if any of the given parameters is of the wrong type.
|
||||||
|
* If thrown the error message will contain the list of expected object types in order.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
IDhApiBiomeWrapper getBiomeWrapper(Object[] objectArray, IDhApiLevelWrapper levelWrapper) throws ClassCastException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a {@link IDhApiBlockStateWrapper} for use by other DhApi methods.
|
||||||
|
*
|
||||||
|
* @param objectArray Expects the following Minecraft objects (in order) for each MC version: <br>
|
||||||
|
* <b>1.16</b> and <b>newer</b> <br>
|
||||||
|
* - [net.minecraft.world.level.block.state.BlockState]<br>
|
||||||
|
*
|
||||||
|
* @param levelWrapper Expects a {@link IDhApiBlockStateWrapper} returned by one of DH's {@link DhApi.Delayed#worldProxy} methods. <br>
|
||||||
|
* A custom implementation of {@link IDhApiBlockStateWrapper} will not be accepted.
|
||||||
|
*
|
||||||
|
* @throws ClassCastException if any of the given parameters is of the wrong type.
|
||||||
|
* If thrown the error message will contain the list of expected object types in order.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
IDhApiBlockStateWrapper getBlockStateWrapper(Object[] objectArray, IDhApiLevelWrapper levelWrapper) throws ClassCastException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the {@link IDhApiBlockStateWrapper} representing air.
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
IDhApiBlockStateWrapper getAirBlockStateWrapper();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
///**
|
||||||
|
// * Specifically designed to be used with the API.
|
||||||
|
// *
|
||||||
|
// * @throws ClassCastException with instructions on expected objects if the object couldn't be cast
|
||||||
|
// */
|
||||||
|
//IChunkWrapper createChunkWrapper(Object[] objectArray) throws ClassCastException;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
|
||||||
|
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IOverrideInjector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implemented by all DhApi objects that can be overridden.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-9-5
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiOverrideable extends IBindable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Higher (larger numerical) priorities override lower (smaller numerical) priorities. <br>
|
||||||
|
* For most developers this can be left at the default.
|
||||||
|
*
|
||||||
|
* @return The priority of this interface, the lowest legal value is {@link IOverrideInjector#MIN_NON_CORE_OVERRIDE_PRIORITY}.
|
||||||
|
*/
|
||||||
|
default int getPriority() { return IOverrideInjector.DEFAULT_NON_CORE_OVERRIDE_PRIORITY; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override.rendering;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
|
||||||
|
import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to determine if a LOD should be rendered or is outside the
|
||||||
|
* user's field of view.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-2-6
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiCullingFrustum extends IDhApiOverrideable
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before a render pass is done.
|
||||||
|
*
|
||||||
|
* @param worldMinBlockY the lowest block position this level allows.
|
||||||
|
* @param worldMaxBlockY the highest block position this level allows.
|
||||||
|
* @param worldViewProjection the projection matrix used in this render pass.
|
||||||
|
*/
|
||||||
|
void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns true if the LOD bounds intersect this frustum
|
||||||
|
*
|
||||||
|
* @param lodBlockPosMinX this LOD's starting block X position closest to negative infinity
|
||||||
|
* @param lodBlockPosMinZ this LOD's starting block Z position closest to negative infinity
|
||||||
|
* @param lodBlockWidth this LOD's width in blocks
|
||||||
|
* @param lodDetailLevel this LOD's detail level
|
||||||
|
*
|
||||||
|
* @see EDhApiDetailLevel
|
||||||
|
*/
|
||||||
|
boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override.rendering;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-1-24
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiFramebuffer extends IDhApiOverrideable
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If this method is called that means this program has the highest priority as defined by {@link IDhApiOverrideable#getPriority()}
|
||||||
|
* and gets to decide if it wants to be used to render this frame or not. <br><br>
|
||||||
|
*
|
||||||
|
* If this method returns true then this program will be used for this frame. <br>
|
||||||
|
* If this returns false then the default DH {@link IDhApiShaderProgram} will be used instead.
|
||||||
|
*/
|
||||||
|
boolean overrideThisFrame();
|
||||||
|
|
||||||
|
/** Runs any necessary binding this program needs so rendering can be done. */
|
||||||
|
void bind();
|
||||||
|
|
||||||
|
/** Binds the given OpenGL depth texture ID. */
|
||||||
|
void addDepthAttachment(int textureId, boolean isCombinedStencil);
|
||||||
|
|
||||||
|
/** @return the OpenGL ID for this shader program */
|
||||||
|
int getId();
|
||||||
|
|
||||||
|
/** @return the OpenGL framebuffer status as defined by <code>glCheckFramebufferStatus</code> */
|
||||||
|
int getStatus();
|
||||||
|
|
||||||
|
/** Binds the given OpenGL texture ID to the given texture index relative to OpenGL's <code>GL_COLOR_ATTACHMENT0</code> */
|
||||||
|
void addColorAttachment(int textureIndex, int textureId);
|
||||||
|
|
||||||
|
/** Destroys this framebuffer's OpenGL object(s). */
|
||||||
|
void destroy();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override.rendering;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam;
|
||||||
|
import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
|
||||||
|
import com.seibel.distanthorizons.coreapi.util.math.Vec3f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-1-24
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiShaderProgram extends IDhApiOverrideable
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If this method is called that means this program has the highest priority as defined by {@link IDhApiOverrideable#getPriority()}
|
||||||
|
* and gets to decide if it wants to be used to render this frame or not. <br><br>
|
||||||
|
*
|
||||||
|
* If this method returns true then this program will be used for this frame. <br>
|
||||||
|
* If this returns false then the default DH {@link IDhApiShaderProgram} will be used instead.
|
||||||
|
*/
|
||||||
|
boolean overrideThisFrame();
|
||||||
|
|
||||||
|
/** @return the OpenGL ID for this shader program */
|
||||||
|
int getId();
|
||||||
|
|
||||||
|
/** Free any OpenGL objects owned by this program. */
|
||||||
|
void free();
|
||||||
|
|
||||||
|
/** Runs any necessary binding this program needs so rendering can be done. */
|
||||||
|
void bind();
|
||||||
|
/** Runs any necessary unbinding this program needs so rendering can be done by another program. */
|
||||||
|
void unbind();
|
||||||
|
|
||||||
|
|
||||||
|
/** sets up the necessary uniforms for rendering */
|
||||||
|
void fillUniformData(DhApiRenderParam renderParameters);
|
||||||
|
|
||||||
|
/** sets the vec3 that all DH verticies should be offset by when rendering */
|
||||||
|
void setModelOffsetPos(Vec3f modelPos);
|
||||||
|
|
||||||
|
/** Binds the given Vertex Buffer Object to this shader program for rendering. */
|
||||||
|
void bindVertexBuffer(int vbo);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override.rendering;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
|
||||||
|
import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The culling frustum used during Distant Horizons' shadow pass
|
||||||
|
* if another mod has enabled Distant Horizons' shadow
|
||||||
|
* pass via the API. <br><br>
|
||||||
|
*
|
||||||
|
* If no {@link IDhApiShadowCullingFrustum} is bound then culling
|
||||||
|
* will not be done in the shadow pass.
|
||||||
|
*
|
||||||
|
* @see IDhApiCullingFrustum
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-2-10
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiShadowCullingFrustum extends IDhApiCullingFrustum
|
||||||
|
{
|
||||||
|
// should be identical to the parent culling frustum
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override.worldGenerator;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
|
||||||
|
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
|
||||||
|
import com.seibel.distanthorizons.coreapi.util.BitShiftUtil;
|
||||||
|
|
||||||
|
import java.io.Closeable;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-22
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public abstract class AbstractDhApiChunkWorldGenerator implements Closeable, IDhApiOverrideable, IDhApiWorldGenerator
|
||||||
|
{
|
||||||
|
//============//
|
||||||
|
// parameters //
|
||||||
|
//============//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final byte getSmallestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
|
||||||
|
@Override
|
||||||
|
public final byte getLargestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
|
||||||
|
@Override
|
||||||
|
public final byte getMinGenerationGranularity() { return EDhApiDetailLevel.CHUNK.detailLevel; }
|
||||||
|
@Override
|
||||||
|
public final byte getMaxGenerationGranularity() { return (byte) (EDhApiDetailLevel.CHUNK.detailLevel + 2); }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//=================//
|
||||||
|
// world generator //
|
||||||
|
//=================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final CompletableFuture<Void> generateChunks(
|
||||||
|
int chunkPosMinX, int chunkPosMinZ,
|
||||||
|
byte granularity, byte targetDataDetail, EDhApiDistantGeneratorMode generatorMode,
|
||||||
|
ExecutorService worldGeneratorThreadPool, Consumer<Object[]> resultConsumer) throws ClassCastException
|
||||||
|
{
|
||||||
|
return CompletableFuture.runAsync(() ->
|
||||||
|
{
|
||||||
|
// TODO what does this mean?
|
||||||
|
int genChunkWidth = BitShiftUtil.powerOfTwo(granularity - 4);
|
||||||
|
|
||||||
|
for (int chunkX = chunkPosMinX; chunkX < chunkPosMinX + genChunkWidth; chunkX++)
|
||||||
|
{
|
||||||
|
for (int chunkZ = chunkPosMinZ; chunkZ < chunkPosMinZ + genChunkWidth; chunkZ++)
|
||||||
|
{
|
||||||
|
Object[] rawMcObjectArray = this.generateChunk(chunkX, chunkZ, generatorMode);
|
||||||
|
resultConsumer.accept(rawMcObjectArray);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, worldGeneratorThreadPool);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called to generate terrain over a given area
|
||||||
|
* from a thread defined by Distant Horizons. <br><br>
|
||||||
|
*
|
||||||
|
* @param chunkPosX the chunk X position in the level (not to be confused with the chunk's BlockPos in the level)
|
||||||
|
* @param chunkPosZ the chunk Z position in the level (not to be confused with the chunk's BlockPos in the level)
|
||||||
|
* @param generatorMode how far into the world gen pipeline this method run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
|
||||||
|
*
|
||||||
|
* @return See {@link IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer) IDhApiWorldGenerator.generateChunks}
|
||||||
|
* for the list of Object's this method should return along with additional documentation.
|
||||||
|
*
|
||||||
|
* @see IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer) IDhApiWorldGenerator#generateChunks
|
||||||
|
*/
|
||||||
|
public abstract Object[] generateChunk(int chunkPosX, int chunkPosZ, EDhApiDistantGeneratorMode generatorMode);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,222 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override.worldGenerator;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiWorldGeneratorReturnType;
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
|
||||||
|
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
|
||||||
|
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
|
||||||
|
import com.seibel.distanthorizons.api.objects.data.DhApiChunk;
|
||||||
|
|
||||||
|
import java.io.Closeable;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-22
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
|
||||||
|
{
|
||||||
|
//============//
|
||||||
|
// parameters //
|
||||||
|
//============//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the smallest datapoint size that can be generated at a time. <br>
|
||||||
|
* Minimum detail level is 0 (1 block) <br>
|
||||||
|
* Default detail level is 0 <br>
|
||||||
|
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}. <br><br>
|
||||||
|
*
|
||||||
|
* TODO: System currently only supports 1x1 block per data.
|
||||||
|
*
|
||||||
|
* @see EDhApiDetailLevel
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
default byte getSmallestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
|
||||||
|
/**
|
||||||
|
* Defines the largest datapoint size that can be generated at a time. <br>
|
||||||
|
* Minimum detail level is 0 (1 block) <br>
|
||||||
|
* Default detail level is 0 <br>
|
||||||
|
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}.
|
||||||
|
*
|
||||||
|
* @see EDhApiDetailLevel
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
default byte getLargestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When creating generation requests the system will attempt to group nearby tasks together. <br><br>
|
||||||
|
* What is the minimum size a single generation call can batch together? <br>
|
||||||
|
*
|
||||||
|
* Minimum detail level is 4 (the size of a MC chunk) <br>
|
||||||
|
* Default detail level is 4 <br>
|
||||||
|
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}.
|
||||||
|
*
|
||||||
|
* @see EDhApiDetailLevel
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
default byte getMinGenerationGranularity() { return EDhApiDetailLevel.CHUNK.detailLevel; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When creating generation requests the system will attempt to group nearby tasks together. <br><br>
|
||||||
|
* What is the maximum size a single generation call can batch together? <br>
|
||||||
|
*
|
||||||
|
* Minimum detail level is 4 (the size of a MC chunk) <br>
|
||||||
|
* Default detail level is 6 (4x4 chunks) <br>
|
||||||
|
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}.
|
||||||
|
*
|
||||||
|
* @see EDhApiDetailLevel
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
default byte getMaxGenerationGranularity() { return (byte) (EDhApiDetailLevel.CHUNK.detailLevel + 2); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true if the generator is unable to accept new generation requests.
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
boolean isBusy();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//=================//
|
||||||
|
// world generator //
|
||||||
|
//=================//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by Distant Horizons to generate terrain over a given area when
|
||||||
|
* {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#VANILLA_CHUNKS}. <br><br>
|
||||||
|
*
|
||||||
|
* After a chunk has been generated it (and any necessary supporting objects as listed below) should be passed into the
|
||||||
|
* resultConsumer's {@link Consumer#accept} method. If the Consumer is given the wrong data
|
||||||
|
* type(s) it will disable the world generator and log an error with a list of objects it was expecting. <br>
|
||||||
|
* <strong>Note:</strong> these objects are minecraft version dependent and <i>will</i> change without notice!
|
||||||
|
* Please run your generator in game at least once to confirm the objects you are returning are correct. <br><br>
|
||||||
|
*
|
||||||
|
* Consumer expected inputs for each minecraft version (in order): <br>
|
||||||
|
* <strong>1.16</strong>, <strong>1.17</strong>, <strong>1.18</strong>, <strong>1.19</strong>, <strong>1.20</strong>: <br>
|
||||||
|
* - [net.minecraft.world.level.chunk.ChunkAccess] <br>
|
||||||
|
* - [net.minecraft.world.level.ServerLevel] or [net.minecraft.world.level.ClientLevel] <br>
|
||||||
|
*
|
||||||
|
* @implNote the default implementation of this method throws an {@link UnsupportedOperationException},
|
||||||
|
* and must be overridden when {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#VANILLA_CHUNKS}.
|
||||||
|
* since {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#VANILLA_CHUNKS} by default,
|
||||||
|
* this method must also be overridden when {@link #getReturnType()} is NOT overridden.
|
||||||
|
*
|
||||||
|
* @param chunkPosMinX the chunk X position closest to negative infinity
|
||||||
|
* @param chunkPosMinZ the chunk Z position closest to negative infinity
|
||||||
|
* @param granularity TODO find a central location to store the definition of granularity. For now it is stored in the Core method: WorldGenerationQueue#startGenerationEvent
|
||||||
|
* @param targetDataDetail the LOD Detail level requested to generate. See {@link EDhApiDetailLevel} for additional information.
|
||||||
|
* @param generatorMode how far into the world gen pipeline this method run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
|
||||||
|
* @param worldGeneratorThreadPool the thread pool that should be used when generating the returned {@link CompletableFuture}.
|
||||||
|
* @param resultConsumer the consumer that should be fired whenever a chunk finishes generating.
|
||||||
|
*
|
||||||
|
* @return a future that should run on the worldGeneratorThreadPool and complete once the given generation task has completed.
|
||||||
|
*
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
default CompletableFuture<Void> generateChunks(
|
||||||
|
int chunkPosMinX,
|
||||||
|
int chunkPosMinZ,
|
||||||
|
byte granularity,
|
||||||
|
byte targetDataDetail,
|
||||||
|
EDhApiDistantGeneratorMode generatorMode,
|
||||||
|
ExecutorService worldGeneratorThreadPool,
|
||||||
|
Consumer<Object[]> resultConsumer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by Distant Horizons to generate terrain over a given area when
|
||||||
|
* {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#API_CHUNKS}. <br><br>
|
||||||
|
*
|
||||||
|
* After the {@link DhApiChunk} has been generated, it should be passed into the
|
||||||
|
* resultConsumer's {@link Consumer#accept(Object)} method.
|
||||||
|
*
|
||||||
|
* @implNote the default implementation of this method throws an {@link UnsupportedOperationException},
|
||||||
|
* and must be overridden when {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#API_CHUNKS}.
|
||||||
|
*
|
||||||
|
* @param chunkPosMinX the chunk X position closest to negative infinity
|
||||||
|
* @param chunkPosMinZ the chunk Z position closest to negative infinity
|
||||||
|
* @param granularity TODO find a central location to store the definition of granularity. For now it is stored in the Core method: WorldGenerationQueue#startGenerationEvent
|
||||||
|
* @param targetDataDetail the LOD Detail level requested to generate. See {@link EDhApiDetailLevel} for additional information.
|
||||||
|
* @param generatorMode how far into the world gen pipeline this method run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
|
||||||
|
* @param worldGeneratorThreadPool the thread pool that should be used when generating the returned {@link CompletableFuture}.
|
||||||
|
* @param resultConsumer the consumer that should be fired whenever a chunk finishes generating.
|
||||||
|
*
|
||||||
|
* @return a future that should run on the worldGeneratorThreadPool and complete once the given generation task has completed.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
default CompletableFuture<Void> generateApiChunks(
|
||||||
|
int chunkPosMinX,
|
||||||
|
int chunkPosMinZ,
|
||||||
|
byte granularity,
|
||||||
|
byte targetDataDetail,
|
||||||
|
EDhApiDistantGeneratorMode generatorMode,
|
||||||
|
ExecutorService worldGeneratorThreadPool,
|
||||||
|
Consumer<DhApiChunk> resultConsumer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method controls how Distant Horizons requests generated chunks.
|
||||||
|
* By default, the return value is {@link EDhApiWorldGeneratorReturnType#VANILLA_CHUNKS},
|
||||||
|
* which means that {@link #generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
|
||||||
|
* will be invoked whenever Distant Horizons wants to generate terrain with this world generator.
|
||||||
|
*
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
default EDhApiWorldGeneratorReturnType getReturnType() { return EDhApiWorldGeneratorReturnType.VANILLA_CHUNKS; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//===============//
|
||||||
|
// event methods //
|
||||||
|
//===============//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before a new generator task is started. <br>
|
||||||
|
* This can be used to run cleanup on existing tasks before new tasks are started.
|
||||||
|
*
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
void preGeneratorTaskStart();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//===========//
|
||||||
|
// overrides //
|
||||||
|
//===========//
|
||||||
|
|
||||||
|
// This is overridden to remove the "throws IOException"
|
||||||
|
// that is present in the default Closeable.close() method
|
||||||
|
@Override
|
||||||
|
void close();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.override.worldGenerator;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
|
||||||
|
import com.seibel.distanthorizons.api.objects.DhApiResult;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles adding world generator overrides.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-12-10
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiWorldGeneratorOverrideRegister
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Registers the given world generator for the given level. <Br> <Br>
|
||||||
|
*
|
||||||
|
* Only one world generator can be registered for a specific level at a given time. <Br>
|
||||||
|
* If another world generator has already been registered, DhApiResult will return
|
||||||
|
* the name of the previously registered generator and success = false.
|
||||||
|
*/
|
||||||
|
DhApiResult<Void> registerWorldGeneratorOverride(IDhApiLevelWrapper levelWrapper, IDhApiWorldGenerator worldGenerator);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.render;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.objects.DhApiResult;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to interact with Distant Horizons' rendering system.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-10-13
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiRenderProxy
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Forces any cached render data to be deleted and regenerated.
|
||||||
|
* This is generally called whenever resource packs are changed or specific
|
||||||
|
* rendering settings are changed in Distant Horizon's config. <Br><Br>
|
||||||
|
*
|
||||||
|
* If this is called on a dedicated server it won't do anything and will return {@link DhApiResult#success} = false <Br><Br>
|
||||||
|
*
|
||||||
|
* Background: <Br>
|
||||||
|
* Distant Horizons has two different file formats: Full data and Render data. <Br>
|
||||||
|
* - Full data files store the block, biome, etc. information and is the result of loading or generating new chunks. <Br>
|
||||||
|
* - Render data files store LOD colors and are created using the Full data and currently loaded resource packs. <Br>
|
||||||
|
* This is the data cleared by this method.
|
||||||
|
*/
|
||||||
|
DhApiResult<Boolean> clearRenderDataCache();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//=======================//
|
||||||
|
// OpenGL object getters //
|
||||||
|
//=======================//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name of Distant Horizons' depth texture. <br>
|
||||||
|
* Will return {@link DhApiResult#success} = false and {@link DhApiResult#payload} = -1 if the texture hasn't been created yet.
|
||||||
|
*/
|
||||||
|
DhApiResult<Integer> getDhDepthTextureId();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name of Distant Horizons' color texture. <br>
|
||||||
|
* Will return {@link DhApiResult#success} = false and {@link DhApiResult#payload} = -1 if the texture hasn't been created yet.
|
||||||
|
*/
|
||||||
|
DhApiResult<Integer> getDhColorTextureId();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//======================//
|
||||||
|
// Shader compatibility //
|
||||||
|
//======================//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If set to true DH won't render opaque and transparent LODs in the same pass.
|
||||||
|
* Instead, opaque objects will be rendered at the normal time, but
|
||||||
|
* transparent objects will only be rendered in a second pass during Minecraft's
|
||||||
|
* own transparent rendering pass.
|
||||||
|
*/
|
||||||
|
void setDeferTransparentRendering(boolean deferTransparentRendering);
|
||||||
|
/** @return If DH should defer transparent rendering or not. */
|
||||||
|
boolean getDeferTransparentRendering();
|
||||||
|
|
||||||
|
/** This may change based on FOV, player speed, and other factors. */
|
||||||
|
float getNearClipPlaneDistanceInBlocks(float partialTicks);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.world;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-7-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiDimensionTypeWrapper extends IDhApiUnsafeWrapper
|
||||||
|
{
|
||||||
|
String getDimensionName();
|
||||||
|
|
||||||
|
boolean hasCeiling();
|
||||||
|
|
||||||
|
boolean hasSkyLight();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.world;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
|
||||||
|
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiLevelType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can be either a Server or Client level.<br>
|
||||||
|
* A level is equivalent to a dimension in vanilla Minecraft.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-7-14
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiLevelWrapper extends IDhApiUnsafeWrapper
|
||||||
|
{
|
||||||
|
IDhApiDimensionTypeWrapper getDimensionType();
|
||||||
|
|
||||||
|
EDhApiLevelType getLevelType();
|
||||||
|
|
||||||
|
boolean hasCeiling();
|
||||||
|
|
||||||
|
boolean hasSkyLight();
|
||||||
|
|
||||||
|
/** Returns the max block height of the level(?) */
|
||||||
|
int getHeight();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the lowest possible block position for the level. <br>
|
||||||
|
* For MC versions before 1.18 this will return 0.
|
||||||
|
*/
|
||||||
|
default int getMinHeight() { return 0; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.interfaces.world;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to interact with Distant Horizons' current world. <br>
|
||||||
|
* A world is equivalent to a single server connection or a singleplayer world.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-11-20
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public interface IDhApiWorldProxy
|
||||||
|
{
|
||||||
|
/** Returns true if a world is loaded. */
|
||||||
|
boolean worldLoaded();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In singleplayer this will return the level the player is currently in. <br>
|
||||||
|
* In multiplayer this will return null.
|
||||||
|
*
|
||||||
|
* @throws IllegalStateException if no world is loaded
|
||||||
|
*/
|
||||||
|
IDhApiLevelWrapper getSinglePlayerLevel() throws IllegalStateException;
|
||||||
|
|
||||||
|
/** @throws IllegalStateException if no world is loaded */
|
||||||
|
Iterable<IDhApiLevelWrapper> getAllLoadedLevelWrappers() throws IllegalStateException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In the case of servers running multiverse there may be multiple levels for the same dimensionType.
|
||||||
|
*
|
||||||
|
* @throws IllegalStateException if no world is loaded
|
||||||
|
*/
|
||||||
|
Iterable<IDhApiLevelWrapper> getAllLoadedLevelsForDimensionType(IDhApiDimensionTypeWrapper dimensionTypeWrapper) throws IllegalStateException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns any dimensions that have names containing the given string (case-insensitive). <br>
|
||||||
|
* In the case of servers running multiverse there may be multiple levels for the same dimensionType.
|
||||||
|
*
|
||||||
|
* @throws IllegalStateException if no world is loaded
|
||||||
|
*/
|
||||||
|
Iterable<IDhApiLevelWrapper> getAllLoadedLevelsWithDimensionNameLike(String dimensionName) throws IllegalStateException;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.objects.DhApiResult;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
|
||||||
|
import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles adding/removing event handlers.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2022-9-16
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public class DhApiEventRegister
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Registers the given event handler. <Br>
|
||||||
|
* Only one eventHandler of a specific class can be registered at a time.
|
||||||
|
* If multiple of the same eventHandler are added DhApiResult will return
|
||||||
|
* the name of the already added handler and success = false.
|
||||||
|
*/
|
||||||
|
public static DhApiResult<Void> on(Class<? extends IDhApiEvent> eventInterface, IDhApiEvent eventHandlerImplementation)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ApiEventInjector.INSTANCE.bind(eventInterface, eventHandlerImplementation);
|
||||||
|
return DhApiResult.createSuccess();
|
||||||
|
}
|
||||||
|
catch (IllegalStateException e)
|
||||||
|
{
|
||||||
|
return DhApiResult.createFail(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregisters the given event handler for this event if one has been registered. <br>
|
||||||
|
* If no eventHandler of the given class has been registered the result will return
|
||||||
|
* success = false.
|
||||||
|
*/
|
||||||
|
public static DhApiResult<Void> off(Class<? extends IDhApiEvent> eventInterface, Class<IDhApiEvent> eventHandlerClass)
|
||||||
|
{
|
||||||
|
if (ApiEventInjector.INSTANCE.unbind(eventInterface, eventHandlerClass))
|
||||||
|
{
|
||||||
|
return DhApiResult.createSuccess();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return DhApiResult.createFail("No event handler [" + eventHandlerClass.getSimpleName() + "] was bound for the event [" + eventInterface.getSimpleName() + "].");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiOneTimeEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiEventParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired after Distant Horizons finishes running its setup.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-23
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public abstract class DhApiAfterDhInitEvent implements IDhApiEvent<Void>, IDhApiOneTimeEvent<Void>
|
||||||
|
{
|
||||||
|
/** Fired after Distant Horizons finishes its initial setup on Minecraft startup. */
|
||||||
|
public abstract void afterDistantHorizonsInit(DhApiEventParam<Void> input);
|
||||||
|
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
// internal DH API methods //
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void fireEvent(DhApiEventParam<Void> input) { this.afterDistantHorizonsInit(input); }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiEventParam;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired after Distant Horizons finishes rendering a frame. <br>
|
||||||
|
* At this point DH will have also finished cleaning up any modifications it
|
||||||
|
* did to the OpenGL state, so the state should be back to Minecraft's defaults.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-1-31
|
||||||
|
* @see DhApiRenderParam
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public abstract class DhApiAfterRenderEvent implements IDhApiEvent<DhApiRenderParam>
|
||||||
|
{
|
||||||
|
/** Fired after Distant Horizons finishes rendering fake chunks. */
|
||||||
|
public abstract void afterRender(DhApiEventParam<DhApiRenderParam> event);
|
||||||
|
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
// internal DH API methods //
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void fireEvent(DhApiEventParam<DhApiRenderParam> event) { this.afterRender(event); }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiCancelableEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiCancelableEventParam;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired before DH runs its apply shader.
|
||||||
|
* The apply shader is a shader that copies over everything DH has rendered
|
||||||
|
* for this pass into MC's framebuffers so it can be rendered to the screen.
|
||||||
|
* Canceling this event prevents the apply shader from running.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-1-31
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public abstract class DhApiBeforeApplyShaderRenderEvent implements IDhApiCancelableEvent<DhApiRenderParam>
|
||||||
|
{
|
||||||
|
/** Fired before the apply shader is run. */
|
||||||
|
public abstract void beforeRender(DhApiCancelableEventParam<DhApiRenderParam> event);
|
||||||
|
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
// internal DH API methods //
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void fireEvent(DhApiCancelableEventParam<DhApiRenderParam> event) { this.beforeRender(event); }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiEventParam;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam;
|
||||||
|
import com.seibel.distanthorizons.coreapi.util.math.Vec3f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before Distant Horizons starts rendering a buffer. <br>
|
||||||
|
* This event cannot be cancelled, use {@link DhApiBeforeRenderEvent} if you want to cancel rendering.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-1-31
|
||||||
|
* @since API 1.1.0
|
||||||
|
*
|
||||||
|
* @see DhApiBeforeRenderEvent
|
||||||
|
*/
|
||||||
|
public abstract class DhApiBeforeBufferRenderEvent implements IDhApiEvent<DhApiBeforeBufferRenderEvent.EventParam>
|
||||||
|
{
|
||||||
|
/** Fired immediately before Distant Horizons starts rendering a buffer. */
|
||||||
|
public abstract void beforeRender(DhApiEventParam<EventParam> input);
|
||||||
|
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
// internal DH API methods //
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void fireEvent(DhApiEventParam<EventParam> input) { this.beforeRender(input); }
|
||||||
|
|
||||||
|
|
||||||
|
//==================//
|
||||||
|
// parameter object //
|
||||||
|
//==================//
|
||||||
|
|
||||||
|
public static class EventParam extends DhApiRenderParam
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Measured in blocks.
|
||||||
|
* Should be applied to the model view matrix to move the buffer into its proper place.
|
||||||
|
*/
|
||||||
|
public final Vec3f modelPos;
|
||||||
|
|
||||||
|
|
||||||
|
public EventParam(DhApiRenderParam parent, Vec3f modelPos)
|
||||||
|
{
|
||||||
|
super(parent);
|
||||||
|
this.modelPos = modelPos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before Distant Horizons starts rendering the deferred rendering pass. <br>
|
||||||
|
* Will only happen if {@link IDhApiRenderProxy#getDeferTransparentRendering()} is true. <br>
|
||||||
|
* Generally this is only used when shaders are enabled. <br>
|
||||||
|
* Canceling the event will prevent DH from rendering the deferred pass that frame.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-1-22
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public abstract class DhApiBeforeDeferredRenderEvent extends DhApiBeforeRenderEvent
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiEventParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired before Distant Horizons starts running its mod loader setup. <br>
|
||||||
|
* IE this is called before Forge's initClient/initServer or Fabric's init method.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-23
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public abstract class DhApiBeforeDhInitEvent implements IDhApiEvent<Void>
|
||||||
|
{
|
||||||
|
/** Fired before Distant Horizons starts its initial setup on Minecraft startup. */
|
||||||
|
public abstract void beforeDistantHorizonsInit(DhApiEventParam<Void> input);
|
||||||
|
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
// internal DH API methods //
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void fireEvent(DhApiEventParam<Void> input) { this.beforeDistantHorizonsInit(input); }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiEventParam;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before Distant Horizons starts the cleanup process done after rendering. <br>
|
||||||
|
* This called after every render pass.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2024-1-31
|
||||||
|
* @since API 1.1.0
|
||||||
|
*/
|
||||||
|
public abstract class DhApiBeforeRenderCleanupEvent implements IDhApiEvent<DhApiRenderParam>
|
||||||
|
{
|
||||||
|
/** Fired before Distant Horizons renders LODs. */
|
||||||
|
public abstract void beforeCleanup(DhApiEventParam<DhApiRenderParam> event);
|
||||||
|
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
// internal DH API methods //
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void fireEvent(DhApiEventParam<DhApiRenderParam> event) { this.beforeCleanup(event); }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the Distant Horizons mod
|
||||||
|
* licensed under the GNU LGPL v3 License.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2023 James Seibel
|
||||||
|
*
|
||||||
|
* This program 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, version 3.
|
||||||
|
*
|
||||||
|
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.seibel.distanthorizons.api.methods.events.abstractEvents;
|
||||||
|
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiCancelableEvent;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiCancelableEventParam;
|
||||||
|
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiRenderParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before Distant Horizons starts rendering a frame. <br>
|
||||||
|
* Canceling the event will prevent DH from rendering that frame.
|
||||||
|
*
|
||||||
|
* @author James Seibel
|
||||||
|
* @version 2023-6-23
|
||||||
|
* @since API 1.0.0
|
||||||
|
*/
|
||||||
|
public abstract class DhApiBeforeRenderEvent implements IDhApiCancelableEvent<DhApiRenderParam>
|
||||||
|
{
|
||||||
|
/** Fired before Distant Horizons renders LODs. */
|
||||||
|
public abstract void beforeRender(DhApiCancelableEventParam<DhApiRenderParam> event);
|
||||||
|
|
||||||
|
|
||||||
|
//=========================//
|
||||||
|
// internal DH API methods //
|
||||||
|
//=========================//
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void fireEvent(DhApiCancelableEventParam<DhApiRenderParam> input) { this.beforeRender(input); }
|
||||||
|
|
||||||
|
}
|
||||||