View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001361 | Industrial-Craft² | crossmod-compatibility / submodules / API | public | 2014-08-29 17:58 | 2014-08-31 09:58 |
Reporter | unpairedbracket | Assigned To | Player | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | open | ||
Product Version | Builds for MC 1.7.10 | ||||
Summary | 0001361: Misuse of @API annotation | ||||
Description | The IC2 api's package-info.java files all declare provision of the entire IC2API. This leads FML's @Optional removal system to believe that the entire IC2API is present when in fact only a subset of the subpackages are. For example, RedstoneArsenal includes files from the ic2.api.tile package, including the relevant package-info.java. This prevents @Optional removal of all IC2 interfaces, for example those in the ic2.api.energy.tile package. | ||||
Additional Information | Proposed solution is to create a proper API hierarchy, with subpackages providing their own sub-apis ("IC2API|energy", "IC2API|tile", etc) owned by IC2API. | ||||
Tags | No tags attached. | ||||
Minecraft Version | |||||
|
It's not misused, you simply can't reliably use APIs as a modid for @Optional, it always needs the "real" mod. Even if each package had its own sub-api, you wouldn't know if every class in that package is actually there. So what you really want is an @Option which checks if a specific class is there, but that's not what it currently does. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-08-29 17:58 | unpairedbracket | New Issue | |
2014-08-31 07:48 | Thunderdark | Assigned To | => Player |
2014-08-31 07:48 | Thunderdark | Status | new => assigned |
2014-08-31 09:58 | Player | Note Added: 0003391 |