Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f44cddf8d5 | |||
| e3bf52ff7b | |||
| 07913af4f8 | |||
| 1760113cd4 | |||
| 12b05275f2 | |||
| c720584e49 | |||
| ab89278274 | |||
| 7c5f777e41 | |||
| 8b0637d05d | |||
| 497f1c9ace | |||
| 2ab0528015 |
+6
-11
@@ -12,18 +12,15 @@ top of things.
|
|||||||
Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!
|
Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!
|
||||||
|
|
||||||
1. Make sure your issue has not already been answered or fixed and you are using the latest version. Also think about whether your issue is a valid one before submitting it.
|
1. Make sure your issue has not already been answered or fixed and you are using the latest version. Also think about whether your issue is a valid one before submitting it.
|
||||||
* If it is already possible with vanilla and AE2 itself, the suggestion will be considered invalid.
|
|
||||||
* Asking for a smaller version, more compact version, or more efficient version of something will also be considered invalid.
|
|
||||||
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues) and click [new issue](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/new)
|
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues) and click [new issue](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/new)
|
||||||
3. Enter your a title of your issue (something that summarizes your issue), and then create a detailed description of the issue.
|
3. Enter your a title of your issue (something that summarizes your issue), and then create a detailed description of the issue.
|
||||||
* Do not tag it with something like `[Feature]`, `[Bug]`, or a version.
|
* Do not tag it with something like `[Feature]` or `[Bug]`. When it is applicable, we will take care of it.
|
||||||
* Restrict it to a single bug or feature, it makes managing them way easier for us.
|
* The following details are required. Not including them can cause the issue to be closed.
|
||||||
* The following details are required. Also refer to the issue template when creating one.
|
|
||||||
* Forge version
|
* Forge version
|
||||||
* AE2 version
|
* AE2 version
|
||||||
* Crash log, when reporting a crash (Please make sure to use [pastebin](http://pastebin.com/))
|
* Crash log, when reporting a crash (Please make sure to use [pastebin](http://pastebin.com/))
|
||||||
* Never post an excerpt of what you consider important
|
* Do not post an excerpt of what you consider important, instead:
|
||||||
* Always post the full log
|
* Post the full log
|
||||||
* Other mods and their version, when reporting an issue between AE and another mod
|
* Other mods and their version, when reporting an issue between AE and another mod
|
||||||
* Also consider updating these before submitting a new issue, it might be already fixed
|
* Also consider updating these before submitting a new issue, it might be already fixed
|
||||||
* A detailed description of the bug or feature
|
* A detailed description of the bug or feature
|
||||||
@@ -36,12 +33,10 @@ Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue
|
|||||||
* Mod Pack using and version?
|
* Mod Pack using and version?
|
||||||
* Keep in mind that some mods might use an outdated version of AE2
|
* Keep in mind that some mods might use an outdated version of AE2
|
||||||
* If so you should report it to your modpack
|
* If so you should report it to your modpack
|
||||||
4. Click `Submit New Issue`, and wait for feedback!
|
5. Click `Submit New Issue`, and wait for feedback!
|
||||||
|
|
||||||
Providing as many details as possible does help us to find and resolve the issue faster and also you getting a fixed version as fast as possible.
|
Providing as many details as possible does help us to find and resolve the issue faster and also you getting a fixed version as fast as possible.
|
||||||
|
|
||||||
Please note that we might close any issue not matching these requirements.
|
|
||||||
|
|
||||||
### Submitting Changes
|
### Submitting Changes
|
||||||
|
|
||||||
* Submit an issue to the github project, assuming one does not already exist.
|
* Submit an issue to the github project, assuming one does not already exist.
|
||||||
@@ -113,7 +108,7 @@ the styling guidelines used by AE.
|
|||||||
PRs that do not conform to these standards will be rejected.
|
PRs that do not conform to these standards will be rejected.
|
||||||
|
|
||||||
You can find presets for Eclipse and IntelliJ IDEA in the `codeformat` folder.
|
You can find presets for Eclipse and IntelliJ IDEA in the `codeformat` folder.
|
||||||
We try to keep them up to date. Please report any case of maintaining the correct formatting.
|
We try to keep them up to date, but in case you find them not formatting it correctly, then please report it
|
||||||
|
|
||||||
### Whitespace
|
### Whitespace
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: You found a bug or encountered a crash? Please report it here.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!-- Provide a summary of the issue in the Title above, please do not "[Tag]" it. -->
|
|
||||||
|
|
||||||
**Describe the bug**
|
|
||||||
<!-- Always use the most recent version from ae-mod.info, it might already be fixed. -->
|
|
||||||
|
|
||||||
**To Reproduce**
|
|
||||||
<!-- Please provide the steps to reproduce it, otherwise we might not be able to fix it. -->
|
|
||||||
|
|
||||||
**Expected behavior**
|
|
||||||
<!-- A clear and concise description of what you expected to happen. -->
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
<!-- Screenshots, crashlogs, etc. -->
|
|
||||||
<!-- A complete crashlog is required when reporting a crash. No excerpts. -->
|
|
||||||
<!-- Please use pastebin or gist for posting the complete crashlog. -->
|
|
||||||
|
|
||||||
**Environment**
|
|
||||||
<!-- Include as many relevant details about the environment -->
|
|
||||||
<!-- Like the used version, SP/MP, other mods and their version -->
|
|
||||||
<!-- The following ones are required, please note "latest" is not a version -->
|
|
||||||
|
|
||||||
- Minecraft Version:
|
|
||||||
- AE2 Version:
|
|
||||||
- Forge Version:
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature Request
|
|
||||||
about: A feature request or suggestion to improve Applied Energistics 2
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!-- Provide a summary of the issue in the Title above, please do not "[Tag]" it. -->
|
|
||||||
|
|
||||||
**Describe the feature**
|
|
||||||
<!-- Tell us how it should work. -->
|
|
||||||
|
|
||||||
**Reasons why it should be considered**
|
|
||||||
<!-- This can help us in various degrees, e.g. to determine if it fits our design ideas. -->
|
|
||||||
|
|
||||||
**Additional Context**
|
|
||||||
<!-- Use this for further details, e.g. screenshots, links to mods for integrations. -->
|
|
||||||
<!-- Features will only be considered for the latest/next version. -->
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
name: Build mod
|
|
||||||
|
|
||||||
on: [ push, pull_request, workflow_dispatch ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build mod
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up JDK 1.8
|
|
||||||
uses: actions/setup-java@v2
|
|
||||||
with:
|
|
||||||
distribution: 'adopt'
|
|
||||||
java-version: '8'
|
|
||||||
- name: Grant execute permission for gradlew
|
|
||||||
run: chmod +x gradlew
|
|
||||||
- name: Build with Gradle
|
|
||||||
run: ./gradlew -Pnet.minecraftforge.gradle.disableUpdateChecker=true build
|
|
||||||
- name: Upload artifacts
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: appliedenergistics2
|
|
||||||
path: build/libs
|
|
||||||
@@ -8,7 +8,6 @@
|
|||||||
!gradlew.bat
|
!gradlew.bat
|
||||||
!build.gradle
|
!build.gradle
|
||||||
!gradle.properties
|
!gradle.properties
|
||||||
!settings.gradle
|
|
||||||
!.travis.yml
|
!.travis.yml
|
||||||
|
|
||||||
# include markdowns
|
# include markdowns
|
||||||
|
|||||||
+5
-18
@@ -9,25 +9,12 @@ jdk:
|
|||||||
before_cache:
|
before_cache:
|
||||||
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
||||||
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
|
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
|
||||||
- rm -f $HOME/.gradle/caches/minecraft/ForgeVersion.json
|
- rm -f $HOME/.gradle/caches/minecraft/deobfedDeps/providedDummy.jar
|
||||||
- rm -f $HOME/.gradle/caches/minecraft/ForgeVersion.json.etag
|
- rm -f $HOME/.gradle/caches/minecraft/deobfedDeps/compileDummy.jar
|
||||||
- rm -fr $HOME/.gradle/caches/minecraft/deobfedDeps
|
|
||||||
- rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.bin
|
|
||||||
- rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.lock
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- '$HOME/.m2/repository'
|
- $HOME/.gradle/caches/
|
||||||
- '$HOME/.sonar/cache'
|
- $HOME/.gradle/wrapper/
|
||||||
- '$HOME/.gradle/wrapper'
|
|
||||||
- '$HOME/.gradle/caches'
|
|
||||||
|
|
||||||
addons:
|
|
||||||
sonarcloud:
|
|
||||||
organization: "appliedenergistics"
|
|
||||||
|
|
||||||
install: "./gradlew setupCIWorkspace"
|
install: "./gradlew setupCIWorkspace"
|
||||||
script:
|
script: "./gradlew build test"
|
||||||
- "./gradlew build"
|
|
||||||
- "./gradlew test"
|
|
||||||
- "./gradlew sonarqube"
|
|
||||||
|
|||||||
-58
@@ -1,58 +0,0 @@
|
|||||||
Changes so far :
|
|
||||||
|
|
||||||
Design changes/breakages:
|
|
||||||
- Interfaces no longer spill items of one pattern on other faces
|
|
||||||
- Interfaces now push patterns in round-robin (Interfaces, then sides)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Fixes:
|
|
||||||
|
|
||||||
- Fix gregtech machines appearing with 'unnamed' or 'draconium lens' on the interface terminal on specific situations.
|
|
||||||
- Add memorycard support for fluid interfaces, import/export/storage busses and level emitters ( this fix was upstreamed to AE2 for MC 1.16)
|
|
||||||
- Storage busses now hide/show inaccessible items as configured.
|
|
||||||
- Exclusive Blocking mode for GTCE ( shapes, molds and configured circuits do not block GTCE machines )
|
|
||||||
- Blocking modes default to block on any item in the iventory the entity exposes
|
|
||||||
- Fuzzy includes items that report that they're damageable, but report a maxDamage of 0 ( auto-crafting of basic capacitors -> resonant capacitors is now possible ) <- Broken item implementation.
|
|
||||||
- Fix CME exceptions on the energy grid
|
|
||||||
- Fix AE going offline even with enough power by extracting from the local buffer always last
|
|
||||||
- Fix IO-Port copying craftable flag into items
|
|
||||||
- Fix NBT of old items not clearing on drives that reached 64 types once
|
|
||||||
|
|
||||||
Performance:
|
|
||||||
|
|
||||||
- Added @talchas fixes for insane channelless AE networks.
|
|
||||||
- Implemented StorageDrawers slotless itemrepository.
|
|
||||||
- Removed CraftedEvent calls (really bad lag with craftweaker versions before CraftTweaker2-1.12-4.1.20.626)
|
|
||||||
- Count items set in interfaces before queuing crafting for them needlessly
|
|
||||||
- Backported b7ca98d ( Avoid copying items on simulated item extraction )
|
|
||||||
- Cache some level emitters functions
|
|
||||||
- Reduced import bus insert simulation to 1 before real insertion (if possible)
|
|
||||||
- Backported itemlist re-implementation along with pattern changes to avoid CraftingManager fallback issues
|
|
||||||
- Instead of recalculating all the content of the network on every change, track the changes properly and apply them to the cached list of items
|
|
||||||
|
|
||||||
QOL:
|
|
||||||
|
|
||||||
- added highlight interface button to interface terminal ("?" button on the left of the interface slots)
|
|
||||||
- Added bar on the interface terminal that search by inputs ( The one on the LEFT, also searchs by interface name )
|
|
||||||
- Shortcut to molecular assemblers with free slots on the terminal interface by @Theisyat
|
|
||||||
- Toggle button on interface terminal to hide full interfaces
|
|
||||||
- JEI "U", "R" and "A" (Usages/Recipes/Bookmark) now work on the Crafting Status GUI. ( the one that shows the total items to craft, and whats missing)
|
|
||||||
- Patterns can now be made with items currently showing on JEI. ( This is overriden by Just Enough Energistics. )
|
|
||||||
- Added multiplier buttons to processing pattern gui
|
|
||||||
- Switched crafting terminal JEI search to fuzzy mode. If the recipe uses a damageable item, AE will try to grab it ( damaged tools )
|
|
||||||
- Encoded patterns stack up to 64 ( holding shift and clicking the encode arrow will transfer the encoded pattern to the player inventory)
|
|
||||||
- Encoded patterns can be draggred on the interface terminal.
|
|
||||||
- Storage Monitor and Conversion Monitor now also ccepts fluids
|
|
||||||
- Draggable JEI ghost items (also works on bookmarked items. SHIFT + Click will move the hovered item into the first free target slot)
|
|
||||||
- JEI auto switches between crafting and processing patterns
|
|
||||||
- GTCE Blocking mode work through phantom itemfaces
|
|
||||||
- Shift-clicking blank patterns into the pattern terminal will try to fill the blank pattern slots first
|
|
||||||
- Mismached simulated/real item count ( most often due to compacting drawers ) will now tell the player wich item cause the failure when trying to start a craft
|
|
||||||
- Added 'pattern expansion' cards that adds an extra row of patterns to interfaces. up to 3 card on an interface. (each card will increase the interface idle power draw by 4 times)
|
|
||||||
|
|
||||||
HOTKEYS:
|
|
||||||
|
|
||||||
- Implemented mousetweaks API. AE2 custom keybinds now work. (Try right clicking and use the scroll-wheel on the terminals)
|
|
||||||
- Holding SHIFT and scrolling UP and DOWN will increase the items set on the configured slots of Interfaces and Pattern Terminal (Processing mode)
|
|
||||||
@@ -1,34 +1,193 @@
|
|||||||
This is a fork of AE2 i made for trying to solve issues for the [Omnifactory](https://www.curseforge.com/minecraft/modpacks/omnifactory) modpack.
|
[](https://travis-ci.org/AppliedEnergistics/Applied-Energistics-2)
|
||||||
|
[](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases)
|
||||||
|
|
||||||
See [AE2-Omnifactory](https://github.com/PrototypeTrousers/Applied-Energistics-2/tree/AE2-Omnifactory) branch for commits and [Releases](https://github.com/PrototypeTrousers/Applied-Energistics-2/releases) for the compiled jars.
|
# Applied Energistics 2
|
||||||
|
|
||||||
# Applied Energistics 2 (PrototypeTrousers fork for Omnifactory)
|
## Table of Contents
|
||||||
|
|
||||||
|
* [About](#about)
|
||||||
|
* [Contacts](#contacts)
|
||||||
|
* [License](#license)
|
||||||
|
* [Downloads](#downloads)
|
||||||
|
* [Nightly Builds](#nightly-builds)
|
||||||
|
* [Installation](#installation)
|
||||||
|
* [Issues](#issues)
|
||||||
|
* [Building](#building)
|
||||||
|
* [Contribution](#contribution)
|
||||||
|
* [API](#applied-energistics-2-api)
|
||||||
|
* [Localization](#applied-energistics-2-localization)
|
||||||
|
* [Credits](#credits)
|
||||||
|
|
||||||
## About
|
## About
|
||||||
A Mod about Matter, Energy and using them to conquer the world.
|
|
||||||
|
|
||||||
## RecipeStages
|
A Mod about Matter, Energy and using them to conquer the world..
|
||||||
You need to add the following into a CraftTweaker script:
|
|
||||||
```
|
|
||||||
mods.recipestages.Recipes.setPackageStage("appeng", allStages);
|
|
||||||
```
|
|
||||||
|
|
||||||
The second argument allows you to customize which stages exactly you want to be craftable with AE2. Idk why would you like to restrict any, but you can.
|
## Contacts
|
||||||
|
|
||||||
|
* [Website](http://ae-mod.info/)
|
||||||
|
* [IRC #appliedenergistics on esper.net](http://webchat.esper.net/?channels=appliedenergistics&prompt=1)
|
||||||
|
* [GitHub](https://github.com/AppliedEnergistics/Applied-Energistics-2)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
* Applied Energistics 2 API
|
* Applied Energistics 2 API
|
||||||
- (c) 2013 - 2018 AlgorithmX2 et al
|
- (c) 2013 - 2015 AlgorithmX2 et al
|
||||||
- [](http://opensource.org/licenses/MIT)
|
- [](http://opensource.org/licenses/MIT)
|
||||||
* Applied Energistics 2
|
* Applied Energistics 2
|
||||||
- (c) 2013 - 2018 AlgorithmX2 et al
|
- (c) 2013 - 2015 AlgorithmX2 et al
|
||||||
- [](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
|
- [](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
|
||||||
* Textures and Models
|
* Textures and Models
|
||||||
- (c) 2013 - 2018 AlgorithmX2 et al
|
- (c) 2013 - 2015 AlgorithmX2 et al
|
||||||
- [](https://creativecommons.org/licenses/by-nc-sa/3.0/)
|
- [](https://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||||
* Text and Translations
|
* Text and Translations
|
||||||
- [](https://creativecommons.org/publicdomain/zero/1.0/)
|
- [](https://creativecommons.org/publicdomain/zero/1.0/)
|
||||||
|
|
||||||
|
## Downloads
|
||||||
|
|
||||||
|
Downloads can be found on [CurseForge](http://www.curse.com/mc-mods/minecraft/223794-applied-energistics-2) or on the [official website](http://ae-mod.info/Downloads/).
|
||||||
|
|
||||||
|
## Nightly Builds
|
||||||
|
|
||||||
|
[](https://ci.appveyor.com/project/shartte/applied-energistics-2/history)
|
||||||
|
|
||||||
|
[Download Latest Nightly Build](https://ci.appveyor.com/api/projects/shartte/applied-energistics-2/artifacts/ae2-rv4-nightly.zip?branch=master)
|
||||||
|
|
||||||
|
Nightly builds for the Minecraft 1.10.2 branch of AE2 (rv4-alpha) are available from [AppVeyor](https://ci.appveyor.com/project/shartte/applied-energistics-2/history). These builds are only for testing purposes and might lead to loss of data, and will contain significant bugs. Please see below on how you can report bugs you find during testing.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
You install this mod by putting it into the `minecraft/mods/` folder. It has no additional hard dependencies.
|
||||||
|
|
||||||
|
## Issues
|
||||||
|
|
||||||
|
Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!
|
||||||
|
|
||||||
|
1. Make sure your issue has not already been answered or fixed and you are using the latest version. Also think about whether your issue is a valid one before submitting it.
|
||||||
|
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues) and click [new issue](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/new)
|
||||||
|
3. Enter your a title of your issue (something that summarizes your issue), and then create a detailed description of the issue.
|
||||||
|
* Do not tag it with something like `[Feature]` or `[Bug]`. When it is applicable, we will take care of it.
|
||||||
|
* The following details are required. Not including them can cause the issue to be closed.
|
||||||
|
* Forge version
|
||||||
|
* AE2 version
|
||||||
|
* Crash log, when reporting a crash (Please make sure to use [pastebin](http://pastebin.com/))
|
||||||
|
* Do not post an excerpt of what you consider important, instead:
|
||||||
|
* Post the full log
|
||||||
|
* Other mods and their version, when reporting an issue between AE and another mod
|
||||||
|
* Also consider updating these before submitting a new issue, it might be already fixed
|
||||||
|
* A detailed description of the bug or feature
|
||||||
|
* To further help in resolving your issues please try to include the follow if applicable:
|
||||||
|
* What was expected?
|
||||||
|
* How to reproduce the problem?
|
||||||
|
* This is usually a great detail and allows us to fix it way faster
|
||||||
|
* Server or Single Player?
|
||||||
|
* Screen shots or Pictures of the problem
|
||||||
|
* Mod Pack using and version?
|
||||||
|
* Keep in mind that some mods might use an outdated version of AE2
|
||||||
|
* If so you should report it to your modpack
|
||||||
|
5. Click `Submit New Issue`, and wait for feedback!
|
||||||
|
|
||||||
|
Providing as many details as possible does help us to find and resolve the issue faster and also you getting a fixed version as fast as possible.
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
1. Clone this repository via
|
||||||
|
- SSH `git clone git@github.com:AppliedEnergistics/Applied-Energistics-2.git` or
|
||||||
|
- HTTPS `git clone https://github.com/AppliedEnergistics/Applied-Energistics-2.git`
|
||||||
|
2. Setup workspace
|
||||||
|
- Decompiled source `gradlew setupDecompWorkspace`
|
||||||
|
- Obfuscated source `gradlew setupDevWorkspace`
|
||||||
|
- CI server `gradlew setupCIWorkspace`
|
||||||
|
3. Build `gradlew build`. Jar will be in `build/libs`
|
||||||
|
4. For core developer: Setup IDE
|
||||||
|
- IntelliJ: Import into IDE, execute `gradlew genIntellijRuns` and change RunConfiguration to `*_main` as quickfix for [ForgeGradle](https://github.com/MinecraftForge/ForgeGradle/issues/357)
|
||||||
|
- Eclipse: execute `gradlew eclipse`
|
||||||
|
5. For add-on developer: Core-Mod Detection
|
||||||
|
- In order to have FML detect AE from your dev environment, add the following VM Option to your run profile
|
||||||
|
- `-Dfml.coreMods.load=appeng.coremod.AppEngCore`
|
||||||
|
|
||||||
|
## Contribution
|
||||||
|
|
||||||
|
Before you want to add major changes, you might want to discuss them with us first, before wasting your time.
|
||||||
|
If you are still willing to contribute to this project, you can contribute via [Pull-Request](https://help.github.com/articles/creating-a-pull-request).
|
||||||
|
|
||||||
|
The [guidelines for contributing](https://github.com/AppliedEnergistics/Applied-Energistics-2/blob/master/CONTRIBUTING.md) contain more detailed information about topics like the used code style and should also be considered.
|
||||||
|
|
||||||
|
Here are a few things to keep in mind that will help get your PR approved.
|
||||||
|
|
||||||
|
* A PR should be focused on content. Any PRs where the changes are only syntax will be rejected.
|
||||||
|
* Use the file you are editing as a style guide.
|
||||||
|
* Consider your feature. [Suggestion Guidelines](http://ae-mod.info/Suggestion-Guidelines/)
|
||||||
|
- Is your suggestion already possible using Vanilla + AE2?
|
||||||
|
- Make sure your feature isn't already in the works, or hasn't been rejected previously.
|
||||||
|
- Does your feature simplify another feature of AE2? These changes will not be accepted.
|
||||||
|
- If your feature can be done by any popular mod, discuss with us first.
|
||||||
|
|
||||||
|
Getting Started
|
||||||
|
|
||||||
|
1. Fork this repository
|
||||||
|
2. Clone the fork via
|
||||||
|
* SSH `git clone git@github.com:<your username>/Applied-Energistics-2.git` or
|
||||||
|
* HTTPS `git clone https://github.com/<your username>/Applied-Energistics-2.git`
|
||||||
|
3. Change code base
|
||||||
|
4. Add changes to git `git add -A`
|
||||||
|
5. Commit changes to your clone `git commit -m "<summery of made changes>"`
|
||||||
|
6. Push to your fork `git push`
|
||||||
|
7. Create a Pull-Request on GitHub
|
||||||
|
8. Wait for review
|
||||||
|
9. Squash commits for cleaner history
|
||||||
|
|
||||||
|
If you are only doing single file pull requests, GitHub supports using a quick way without the need of cloning your fork. Also read up about [synching](https://help.github.com/articles/syncing-a-fork) if you plan to contribute on regular basis.
|
||||||
|
|
||||||
|
## Applied Energistics 2 API
|
||||||
|
|
||||||
|
The API for Applied Energistics 2. It is open source to discuss changes, improve documentation, and provide better add-on support in general.
|
||||||
|
|
||||||
|
Development and standard builds can be obtained [Here](http://ae2.ae-mod.info/Downloads/).
|
||||||
|
|
||||||
|
### Maven
|
||||||
|
|
||||||
|
When compiling against the AE2 API you can use gradle dependencies, just add
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compile "appeng:appliedenergistics2:rv_-_____-__:dev"
|
||||||
|
}
|
||||||
|
|
||||||
|
or add the compile line to your existing dependencies task to your build.gradle
|
||||||
|
|
||||||
|
Where the __ are filled in with the correct version criteria; AE2 is available from the default forge maven so no additional repositories are necessary.
|
||||||
|
|
||||||
|
An example string would be `appeng:appliedenergistics2:rv2-alpha-30:dev`
|
||||||
|
|
||||||
|
## Applied Energistics 2 Localization
|
||||||
|
|
||||||
|
### English Text
|
||||||
|
|
||||||
|
`en_US` is included in this repository, fixes to typos are welcome.
|
||||||
|
|
||||||
|
### Encoding
|
||||||
|
|
||||||
|
Files must be encoded as UTF-8.
|
||||||
|
|
||||||
|
### New or updated Translations
|
||||||
|
|
||||||
|
The language files are located in `/src/main/resources/assets/appliedenergistics2/lang/` and use the [appropriate locale code](http://minecraft.gamepedia.com/Language) as name and `.lang` as extension.
|
||||||
|
|
||||||
|
To update an translation edit the corresponding file and improve/correct the existing entry. Or copy any entries from `en_US.lang` for missing translation.
|
||||||
|
|
||||||
|
To create a new translation, copy the contents of `en_US.lang`, create a new file with appropriate filename, and translate it to your language.
|
||||||
|
|
||||||
|
Please keep in mind that we use [String format](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) to pass additional data to the text for displaying.
|
||||||
|
Therefore you should preserve parts like `%s` or `%1$d%%`, which allows us to replace them with the correct values while you still have the option to change their order for match the rules of grammar.
|
||||||
|
This might not be possible for some languages. Should this be the case, please contact us.
|
||||||
|
|
||||||
|
### Final Note
|
||||||
|
|
||||||
|
If you have have issues localizing something feel free to contact us on IRC, at #AppliedEnergistics on Esper.net
|
||||||
|
|
||||||
|
Thanks to everyone helping out to improve localization of AE2.
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
Thanks to
|
Thanks to
|
||||||
|
|
||||||
* Notch et al for Minecraft
|
* Notch et al for Minecraft
|
||||||
|
|||||||
+81
-983
File diff suppressed because it is too large
Load Diff
@@ -1,28 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<profiles version="13">
|
<profiles version="12">
|
||||||
<profile kind="CodeFormatterProfile" name="AE2" version="13">
|
<profile kind="CodeFormatterProfile" name="AE2" version="12">
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
|
<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_after_comma_in_enum_declarations" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.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.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.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_new_line_after_annotation_on_package" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="2"/>
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="2"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
|
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_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_comma_in_type_arguments" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
|
||||||
@@ -30,19 +26,17 @@
|
|||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
|
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
|
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="80"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="2"/>
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="2"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.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.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.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.enabling_tag" value="@formatter:on"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
|
||||||
@@ -58,16 +52,14 @@
|
|||||||
<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_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
|
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
|
||||||
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
|
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.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.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.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_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_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_comma_in_method_invocation_arguments" value="do not insert"/>
|
||||||
@@ -90,7 +82,6 @@
|
|||||||
<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.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
|
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_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_array_initializer" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
|
||||||
@@ -102,16 +93,15 @@
|
|||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_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.brace_position_for_lambda_body" value="end_of_line"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
|
<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_comma_in_type_parameters" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.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_arguments_in_method_invocation" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
|
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="true"/>
|
||||||
@@ -122,10 +112,9 @@
|
|||||||
<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_after_comma_in_array_initializer" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
|
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_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_before_semicolon_in_try_resources" value="do not insert"/>
|
||||||
@@ -164,18 +153,15 @@
|
|||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>
|
<setting id="org.eclipse.jdt.core.formatter.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.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.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_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
|
<setting id="org.eclipse.jdt.core.formatter.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.insert_space_before_colon_in_for" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
|
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="80"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
|
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
|
||||||
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
|
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="insert"/>
|
||||||
@@ -197,7 +183,6 @@
|
|||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
|
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
|
||||||
@@ -209,10 +194,8 @@
|
|||||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="0"/>
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="0"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
|
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_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.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
|
||||||
@@ -273,7 +256,6 @@
|
|||||||
<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_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_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.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
|
||||||
@@ -289,7 +271,6 @@
|
|||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
|
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="insert"/>
|
||||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
|
||||||
|
|||||||
+14
-137
@@ -1,148 +1,25 @@
|
|||||||
aeversion=rv6
|
aeversion=rv4
|
||||||
aechannel=stable
|
aechannel=alpha
|
||||||
aebuild=7
|
aebuild=0
|
||||||
aegroup=appeng
|
aegroup=appeng
|
||||||
aebasename=appliedenergistics2
|
aebasename=appliedenergistics2
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Versions #
|
# Versions #
|
||||||
#########################################################
|
#########################################################
|
||||||
minecraft_version=1.12.2
|
minecraft_version=1.10.2
|
||||||
mcp_mappings=snapshot_20171003
|
mcp_mappings=snapshot_20161111
|
||||||
forge_version=14.23.5.2847
|
forge_version=12.18.3.2185
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Installable #
|
# Installable #
|
||||||
#########################################################
|
#########################################################
|
||||||
hwyla_version=1.8.26-B41_1.12.2
|
waila_version=1.7.0-B3_1.9.4
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Provided APIs #
|
# Provided APIs #
|
||||||
#########################################################
|
#########################################################
|
||||||
jei_version=4.16.1.302
|
jei_version=3.13.6.391
|
||||||
tesla_version=1.0.63
|
tesla_version=1.10.2-1.2.1.50
|
||||||
ic2_version=2.8.73-ex112
|
ic2_version=2.6.99-ex110
|
||||||
top_version=1.12-1.4.23-16
|
top_version=1.10-1.3.3-41
|
||||||
crafttweaker_version=4.1.20.684
|
|
||||||
ctm_version=MC1.12.2-0.3.1.16
|
|
||||||
forestry_version=5.8.2.387
|
|
||||||
#########################################################
|
|
||||||
# Deployment #
|
|
||||||
#########################################################
|
|
||||||
website_version=1.12.2
|
|
||||||
curse_versions=1.12.2
|
|
||||||
mapping_channel=snapshot
|
|
||||||
mapping_version=20171003
|
|
||||||
# Run Configurations
|
|
||||||
minecraft_username=Developer
|
|
||||||
extra_jvm_args=
|
|
||||||
modName=Applied Energistics 2
|
|
||||||
# This is a case-sensitive string to identify your mod. Convention is to use lower case.
|
|
||||||
modId=appliedenergistics2
|
|
||||||
modGroup=appeng
|
|
||||||
# Version of your mod.
|
|
||||||
# This field can be left empty if you want your mod's version to be determined by the latest git tag instead.
|
|
||||||
modVersion=rv6-stable-7-extended_life-v0.55.21
|
|
||||||
# Whether to use the old jar naming structure (modid-mcversion-version) instead of the new version (modid-version)
|
|
||||||
includeMCVersionJar=false
|
|
||||||
# The name of your jar when you produce builds, not including any versioning info
|
|
||||||
modArchivesBaseName=appliedenergistics2
|
|
||||||
# Will update your build.gradle automatically whenever an update is available
|
|
||||||
autoUpdateBuildScript=false
|
|
||||||
minecraftVersion=1.12.2
|
|
||||||
# Select a username for testing your mod with breakpoints. You may leave this empty for a random username each time you
|
|
||||||
# restart Minecraft in development. Choose this dependent on your mod:
|
|
||||||
# Do you need consistent player progressing (for example Thaumcraft)? -> Select a name
|
|
||||||
# Do you need to test how your custom blocks interacts with a player that is not the owner? -> leave name empty
|
|
||||||
# Alternatively this can be set with the 'DEV_USERNAME' environment variable.
|
|
||||||
developmentEnvironmentUserName=Developer
|
|
||||||
# Enables using modern java syntax (up to version 17) via Jabel, while still targeting JVM 8.
|
|
||||||
# See https://github.com/bsideup/jabel for details on how this works.
|
|
||||||
# Using this requires that you use a Java 17 JDK for development.
|
|
||||||
enableModernJavaSyntax=true
|
|
||||||
# Generate a class with String fields for the mod id, name and version named with the fields below
|
|
||||||
generateGradleTokenClass=appeng.Tags
|
|
||||||
gradleTokenModId=
|
|
||||||
gradleTokenModName=
|
|
||||||
gradleTokenVersion=VERSION
|
|
||||||
# In case your mod provides an API for other mods to implement you may declare its package here. Otherwise, you can
|
|
||||||
# leave this property empty.
|
|
||||||
# Example value: apiPackage = api + modGroup = com.myname.mymodid -> com.myname.mymodid.api
|
|
||||||
apiPackage=api
|
|
||||||
# Specify the configuration file for Forge's access transformers here. It must be placed into /src/main/resources/
|
|
||||||
# There can be multiple files in a comma-separated list.
|
|
||||||
# Example value: mymodid_at.cfg,jei_at.cfg
|
|
||||||
accessTransformersFile=appliedenergistics2_at.cfg
|
|
||||||
# Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled!
|
|
||||||
usesMixins=false
|
|
||||||
# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail!
|
|
||||||
mixinsPackage=
|
|
||||||
# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
|
|
||||||
# Example value: coreModClass = asm.FMLPlugin + modGroup = com.myname.mymodid -> com.myname.mymodid.asm.FMLPlugin
|
|
||||||
coreModClass=core.AE2ELCore
|
|
||||||
# If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod (meaning that
|
|
||||||
# there is no class annotated with @Mod) you want this to be true. When in doubt: leave it on false!
|
|
||||||
containsMixinsAndOrCoreModOnly=false
|
|
||||||
# Enables Mixins even if this mod doesn't use them, useful if one of the dependencies uses mixins.
|
|
||||||
forceEnableMixins=false
|
|
||||||
# Adds CurseMaven, Modrinth Maven, BlameJared maven, and some more well-known 1.12.2 repositories
|
|
||||||
includeWellKnownRepositories=true
|
|
||||||
# Adds JEI and TheOneProbe to your development environment. Adds them as 'implementation', meaning they will
|
|
||||||
# be available at compiletime and runtime for your mod (in-game and in-code).
|
|
||||||
# Overrides the above setting to be always true, as these repositories are needed to fetch the mods
|
|
||||||
includeCommonDevEnvMods=true
|
|
||||||
# If enabled, you may use 'shadowCompile' for dependencies. They will be integrated in your jar. It is your
|
|
||||||
# responsibility check the licence and request permission for distribution, if required.
|
|
||||||
usesShadowedDependencies=false
|
|
||||||
# If disabled, won't remove unused classes from shaded dependencies. Some libraries use reflection to access
|
|
||||||
# their own classes, making the minimization unreliable.
|
|
||||||
minimizeShadowedDependencies=true
|
|
||||||
# If disabled, won't rename the shadowed classes.
|
|
||||||
relocateShadowedDependencies=true
|
|
||||||
# Publishing to modrinth requires you to set the MODRINTH_API_KEY environment variable to your current modrinth API token.
|
|
||||||
# The project's ID on Modrinth. Can be either the slug or the ID.
|
|
||||||
# Leave this empty if you don't want to publish on Modrinth.
|
|
||||||
# Alternatively this can be set with the 'MODRINTH_PROJECT_ID' environment variable.
|
|
||||||
modrinthProjectId=
|
|
||||||
# The project's relations on Modrinth. You can use this to refer to other projects on Modrinth.
|
|
||||||
# Syntax: scope1-type1:name1;scope2-type2:name2;...
|
|
||||||
# Where scope can be one of [required, optional, incompatible, embedded],
|
|
||||||
# type can be one of [project, version],
|
|
||||||
# and the name is the Modrinth project or version slug/id of the other mod.
|
|
||||||
# Example: required-project:jei;optional-project:top;incompatible-project:gregtech
|
|
||||||
modrinthRelations=
|
|
||||||
# Publishing to CurseForge requires you to set the CURSEFORGE_API_KEY environment variable to one of your CurseForge API tokens.
|
|
||||||
# The project's numeric ID on CurseForge. You can find this in the About Project box.
|
|
||||||
# Leave this empty if you don't want to publish on CurseForge.
|
|
||||||
# Alternatively this can be set with the 'CURSEFORGE_PROJECT_ID' environment variable.
|
|
||||||
curseForgeProjectId=
|
|
||||||
# The project's relations on CurseForge. You can use this to refer to other projects on CurseForge.
|
|
||||||
# Syntax: type1:name1;type2:name2;...
|
|
||||||
# Where type can be one of [requiredDependency, embeddedLibrary, optionalDependency, tool, incompatible],
|
|
||||||
# and the name is the CurseForge project slug of the other mod.
|
|
||||||
# Example: requiredDependency:railcraft;embeddedLibrary:cofhlib;incompatible:buildcraft
|
|
||||||
curseForgeRelations=
|
|
||||||
# This project's release type on CurseForge and/or Modrinth
|
|
||||||
# Allowed types: release, beta, alpha
|
|
||||||
releaseType=beta
|
|
||||||
# Generate a default changelog for releases. Requires git to be installed, as it uses it to generate a changelog of
|
|
||||||
# commits since the last tagged release.
|
|
||||||
generateDefaultChangelog=false
|
|
||||||
# Prevent the source code from being published
|
|
||||||
noPublishedSources=false
|
|
||||||
# Enable spotless checks
|
|
||||||
# Enforces code formatting on your source code
|
|
||||||
# By default this will use the files found here: https://github.com/GregTechCEu/Buildscripts/tree/master/spotless
|
|
||||||
# to format your code. However, you can create your own version of these files and place them in your project's
|
|
||||||
# root directory to apply your own formatting options instead.
|
|
||||||
enableSpotless=false
|
|
||||||
# Enable JUnit testing platform used for testing your code.
|
|
||||||
# Uses JUnit 5. See guide and documentation here: https://junit.org/junit5/docs/current/user-guide/
|
|
||||||
enableJUnit=true
|
|
||||||
# Deployment debug setting
|
|
||||||
# Uncomment this to test deployments to CurseForge and Modrinth
|
|
||||||
# Alternatively, you can set the 'DEPLOYMENT_DEBUG' environment variable.
|
|
||||||
deploymentDebug=false
|
|
||||||
# Gradle Settings
|
|
||||||
# Effectively applies the '--stacktrace' flag by default
|
|
||||||
org.gradle.logging.stacktrace=all
|
|
||||||
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
|
|
||||||
# This is required to provide enough memory for the Minecraft decompilation process.
|
|
||||||
org.gradle.jvmargs=-Xmx3G
|
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of Applied Energistics 2.
|
||||||
|
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
|
||||||
|
*
|
||||||
|
* Applied Energistics 2 is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Applied Energistics 2 is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Suppresses warnings/errors when building javadocs
|
||||||
|
allprojects {
|
||||||
|
tasks.withType(Javadoc) {
|
||||||
|
options.addStringOption('Xdoclint:none', '-quiet')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
javadoc {
|
||||||
|
options.encoding = 'UTF-8'
|
||||||
|
options.charSet = 'UTF-8'
|
||||||
|
}
|
||||||
|
|
||||||
|
task javadocs(type: Javadoc) {
|
||||||
|
source = sourceSets.api.java
|
||||||
|
include "appeng/api/**"
|
||||||
|
|
||||||
|
// Due to ForgeGradle having to be a special snowflake,
|
||||||
|
// we have to add some custom configurations to the normal compile configuration and hope it does not break.
|
||||||
|
classpath = configurations.compile + configurations.forgeGradleMc + configurations.forgeGradleMcDeps
|
||||||
|
}
|
||||||
|
|
||||||
|
task javadocJar(type: Jar, dependsOn: javadocs) {
|
||||||
|
from javadoc.destinationDir
|
||||||
|
classifier = 'javadoc'
|
||||||
|
}
|
||||||
|
|
||||||
|
task apiJar(type: Jar) {
|
||||||
|
from sourceSets.api.java
|
||||||
|
include "appeng/api/**"
|
||||||
|
|
||||||
|
from sourceSets.api.output
|
||||||
|
include "appeng/api/**"
|
||||||
|
|
||||||
|
classifier = 'api'
|
||||||
|
}
|
||||||
|
|
||||||
|
artifacts {
|
||||||
|
archives apiJar
|
||||||
|
archives javadocJar
|
||||||
|
archives sourceJar
|
||||||
|
}
|
||||||
@@ -19,15 +19,6 @@
|
|||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
|
|
||||||
maven {
|
|
||||||
url "https://cursemaven.com"
|
|
||||||
}
|
|
||||||
|
|
||||||
maven {
|
|
||||||
name = "CurseForge"
|
|
||||||
url = "https://minecraft.curseforge.com/api/maven/"
|
|
||||||
}
|
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
name "Mobius"
|
name "Mobius"
|
||||||
url "http://mobiusstrip.eu/maven"
|
url "http://mobiusstrip.eu/maven"
|
||||||
@@ -39,8 +30,8 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
name "Ellpeck"
|
name = "Tesla repo"
|
||||||
url "https://maven.ellpeck.de"
|
url "http://maven.epoxide.xyz"
|
||||||
}
|
}
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
@@ -48,30 +39,10 @@ repositories {
|
|||||||
url = "http://maven.ic2.player.to"
|
url = "http://maven.ic2.player.to"
|
||||||
}
|
}
|
||||||
|
|
||||||
maven {
|
|
||||||
name = "CoFH Maven"
|
|
||||||
url = "http://maven.covers1624.net"
|
|
||||||
}
|
|
||||||
|
|
||||||
maven { // TheOneProbe
|
maven { // TheOneProbe
|
||||||
name 'tterrag maven'
|
name 'tterrag maven'
|
||||||
url "http://maven.tterrag.com/"
|
url "http://maven.tterrag.com/"
|
||||||
}
|
}
|
||||||
|
|
||||||
maven { // McJtyLib
|
|
||||||
name 'mcjty'
|
|
||||||
url "http://maven.k-4u.nl/"
|
|
||||||
}
|
|
||||||
|
|
||||||
maven { // CraftTweaker
|
|
||||||
name 'jared maven'
|
|
||||||
url "http://maven.blamejared.com/"
|
|
||||||
}
|
|
||||||
|
|
||||||
//maven { // modmaven, maven proxy
|
|
||||||
// name 'modmaven'
|
|
||||||
// url "https://modmaven.k-4u.nl/"
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
@@ -79,42 +50,21 @@ configurations {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// deobfCompile "gregtechce:gregtech:1.12.2:1.15.1.735"
|
|
||||||
// installable runtime dependencies
|
// installable runtime dependencies
|
||||||
implementation rfg.deobf("curse.maven:gregtechceu-557242:4429261")
|
mods "mcp.mobius.waila:Waila:${waila_version}"
|
||||||
|
|
||||||
compileOnly "curse.maven:chisel-235279:2915375"
|
|
||||||
|
|
||||||
implementation rfg.deobf("curse.maven:baubles-227083:2518667")
|
|
||||||
//mods "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
|
||||||
mods "curse.maven:hwyla-253449:2568751"
|
|
||||||
mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev"
|
mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev"
|
||||||
mods "mcjty.theoneprobe:TheOneProbe-${minecraft_version}:${top_version}"
|
mods "mcjty.theoneprobe:TheOneProbe:${top_version}"
|
||||||
|
|
||||||
// compile against provided APIs
|
// compile against provided APIs
|
||||||
compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api"
|
compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api"
|
||||||
//compileOnly "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
compileOnly "mcp.mobius.waila:Waila:${waila_version}"
|
||||||
compileOnly "curse.maven:hwyla-253449:2568751"
|
compileOnly "net.darkhax.tesla:Tesla:${tesla_version}"
|
||||||
//Code chicken lib, GTCE dependency
|
|
||||||
implementation rfg.deobf("curse.maven:CCL-242818:2779848")
|
|
||||||
|
|
||||||
compileOnly "curse.maven:recipe-stages-280554:3405072"
|
|
||||||
compileOnly "curse.maven:item-stages-280316:2696769"
|
|
||||||
compileOnly "curse.maven:game-stages-268655:2951844"
|
|
||||||
compileOnly "net.darkhax.tesla:Tesla-1.12.2:${tesla_version}"
|
|
||||||
compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api"
|
compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api"
|
||||||
compileOnly "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}:api"
|
compileOnly "mcjty.theoneprobe:TheOneProbe:${top_version}:api"
|
||||||
compileOnly "curse.maven:CoFHCore-69162:2920433"
|
|
||||||
compileOnly "CraftTweaker2:CraftTweaker2-API:${crafttweaker_version}"
|
|
||||||
compileOnly "curse.maven:inventory-tweaks-223094:2482482"
|
|
||||||
compileOnly "curse.maven:inventory-bogo-sorter-632327:4399738"
|
|
||||||
compileOnly "team.chisel.ctm:CTM:${ctm_version}"
|
|
||||||
compileOnly "de.ellpeck.actuallyadditions:ActuallyAdditions:1.12.2-r152.16:api"
|
|
||||||
implementation rfg.deobf("net.sengir.forestry:forestry_${minecraft_version}:$forestry_version")
|
|
||||||
|
|
||||||
// at runtime, use the full JEI jar
|
// at runtime, use the full JEI jar
|
||||||
runtimeOnly "mezz.jei:jei_${minecraft_version}:${jei_version}"
|
runtime "mezz.jei:jei_${minecraft_version}:${jei_version}"
|
||||||
|
|
||||||
// unit test dependencies
|
// unit test dependencies
|
||||||
testImplementation "junit:junit:4.12"
|
testCompile "junit:junit:4.12"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,39 +16,40 @@
|
|||||||
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
|
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// HWYLA
|
task wrapper(type: Wrapper) {
|
||||||
tasks.register('installHwyla', Copy) {
|
gradleVersion = "2.14"
|
||||||
dependsOn "deinstallHwyla"
|
|
||||||
from { configurations.mods }
|
|
||||||
include "**/*Hwyla*.jar"
|
|
||||||
into file("/run/mods")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('deinstallHwyla', Delete) {
|
// WAILA
|
||||||
delete fileTree(dir: "/run/mods", include: "*Hwyla*.jar")
|
task installWaila(type: Copy, dependsOn: "deinstallWaila") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*Waila*.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallWaila(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Waila*.jar")
|
||||||
}
|
}
|
||||||
|
|
||||||
// IC2
|
// IC2
|
||||||
tasks.register('installIC2', Copy) {
|
task installIC2(type: Copy, dependsOn: "deinstallIC2") {
|
||||||
dependsOn "deinstallIC2"
|
|
||||||
from { configurations.mods }
|
from { configurations.mods }
|
||||||
include "**/*industrialcraft-2*.jar"
|
include "**/*industrialcraft-2*.jar"
|
||||||
into file("/run/mods")
|
into file(minecraft.runDir + "/mods")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('deinstallIC2', Delete) {
|
task deinstallIC2(type: Delete) {
|
||||||
delete fileTree(dir: "/run/mods", include: "*industrialcraft-2*.jar")
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*industrialcraft-2*.jar")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TOP
|
// TOP
|
||||||
tasks.register('installTop', Copy) {
|
task installTop(type: Copy, dependsOn: "deinstallTop") {
|
||||||
dependsOn["deinstallTop"]
|
|
||||||
from { configurations.mods }
|
from { configurations.mods }
|
||||||
include "**/*TheOneProbe*.jar"
|
include "**/*TheOneProbe*.jar"
|
||||||
into file("/run/mods")
|
into file(minecraft.runDir + "/mods")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('deinstallTop', Delete) {
|
task deinstallTop(type: Delete) {
|
||||||
delete fileTree(dir: "/run/mods", include: "*TheOneProbe*.jar")
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*TheOneProbe*.jar")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Vendored
BIN
Binary file not shown.
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
|
#Fri Sep 16 14:56:32 CEST 2016
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
|
|
||||||
networkTimeout=10000
|
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14-bin.zip
|
||||||
|
|||||||
@@ -1,129 +1,78 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright © 2015-2021 the original authors.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# https://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
##
|
||||||
# Gradle start up script for POSIX generated by Gradle.
|
## Gradle start up script for UN*X
|
||||||
#
|
##
|
||||||
# Important for running:
|
|
||||||
#
|
|
||||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
|
||||||
# noncompliant, but you have some other compliant shell such as ksh or
|
|
||||||
# bash, then to run this script, type that shell name before the whole
|
|
||||||
# command line, like:
|
|
||||||
#
|
|
||||||
# ksh Gradle
|
|
||||||
#
|
|
||||||
# Busybox and similar reduced shells will NOT work, because this script
|
|
||||||
# requires all of these POSIX shell features:
|
|
||||||
# * functions;
|
|
||||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
|
||||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
|
||||||
# * compound commands having a testable exit status, especially «case»;
|
|
||||||
# * various built-in commands including «command», «set», and «ulimit».
|
|
||||||
#
|
|
||||||
# Important for patching:
|
|
||||||
#
|
|
||||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
|
||||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
|
||||||
#
|
|
||||||
# The "traditional" practice of packing multiple parameters into a
|
|
||||||
# space-separated string is a well documented source of bugs and security
|
|
||||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
|
||||||
# options in "$@", and eventually passing that to Java.
|
|
||||||
#
|
|
||||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
|
||||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
|
||||||
# see the in-line comments for details.
|
|
||||||
#
|
|
||||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
|
||||||
# Darwin, MinGW, and NonStop.
|
|
||||||
#
|
|
||||||
# (3) This script is generated from the Groovy template
|
|
||||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
|
||||||
# within the Gradle project.
|
|
||||||
#
|
|
||||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
|
||||||
#
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Attempt to set APP_HOME
|
# Attempt to set APP_HOME
|
||||||
|
|
||||||
# Resolve links: $0 may be a link
|
# Resolve links: $0 may be a link
|
||||||
app_path=$0
|
PRG="$0"
|
||||||
|
# Need this for relative symlinks.
|
||||||
# Need this for daisy-chained symlinks.
|
while [ -h "$PRG" ] ; do
|
||||||
while
|
ls=`ls -ld "$PRG"`
|
||||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
[ -h "$app_path" ]
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
do
|
PRG="$link"
|
||||||
ls=$( ls -ld "$app_path" )
|
else
|
||||||
link=${ls#*' -> '}
|
PRG=`dirname "$PRG"`"/$link"
|
||||||
case $link in #(
|
fi
|
||||||
/*) app_path=$link ;; #(
|
|
||||||
*) app_path=$APP_HOME$link ;;
|
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
|
SAVED="`pwd`"
|
||||||
|
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||||
|
APP_HOME="`pwd -P`"
|
||||||
|
cd "$SAVED" >/dev/null
|
||||||
|
|
||||||
# This is normally unused
|
APP_NAME="Gradle"
|
||||||
# shellcheck disable=SC2034
|
APP_BASE_NAME=`basename "$0"`
|
||||||
APP_BASE_NAME=${0##*/}
|
|
||||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
|
||||||
|
|
||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
DEFAULT_JVM_OPTS=""
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD=maximum
|
MAX_FD="maximum"
|
||||||
|
|
||||||
warn ( ) {
|
warn ( ) {
|
||||||
echo "$*"
|
echo "$*"
|
||||||
} >&2
|
}
|
||||||
|
|
||||||
die ( ) {
|
die ( ) {
|
||||||
echo
|
echo
|
||||||
echo "$*"
|
echo "$*"
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
} >&2
|
}
|
||||||
|
|
||||||
# OS specific support (must be 'true' or 'false').
|
# OS specific support (must be 'true' or 'false').
|
||||||
cygwin=false
|
cygwin=false
|
||||||
msys=false
|
msys=false
|
||||||
darwin=false
|
darwin=false
|
||||||
nonstop=false
|
nonstop=false
|
||||||
case "$( uname )" in #(
|
case "`uname`" in
|
||||||
CYGWIN* ) cygwin=true ;; #(
|
CYGWIN* )
|
||||||
Darwin* ) darwin=true ;; #(
|
cygwin=true
|
||||||
MSYS* | MINGW* ) msys=true ;; #(
|
;;
|
||||||
NONSTOP* ) nonstop=true ;;
|
Darwin* )
|
||||||
|
darwin=true
|
||||||
|
;;
|
||||||
|
MINGW* )
|
||||||
|
msys=true
|
||||||
|
;;
|
||||||
|
NONSTOP* )
|
||||||
|
nonstop=true
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
# Determine the Java command to use to start the JVM.
|
# Determine the Java command to use to start the JVM.
|
||||||
if [ -n "$JAVA_HOME" ] ; then
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
# IBM's JDK on AIX uses strange locations for the executables
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||||
else
|
else
|
||||||
JAVACMD=$JAVA_HOME/bin/java
|
JAVACMD="$JAVA_HOME/bin/java"
|
||||||
fi
|
fi
|
||||||
if [ ! -x "$JAVACMD" ] ; then
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
@@ -132,7 +81,7 @@ Please set the JAVA_HOME variable in your environment to match the
|
|||||||
location of your Java installation."
|
location of your Java installation."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
JAVACMD=java
|
JAVACMD="java"
|
||||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
Please set the JAVA_HOME variable in your environment to match the
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
@@ -140,105 +89,76 @@ location of your Java installation."
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Increase the maximum file descriptors if we can.
|
# Increase the maximum file descriptors if we can.
|
||||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||||
case $MAX_FD in #(
|
MAX_FD_LIMIT=`ulimit -H -n`
|
||||||
max*)
|
if [ $? -eq 0 ] ; then
|
||||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||||
# shellcheck disable=SC3045
|
MAX_FD="$MAX_FD_LIMIT"
|
||||||
MAX_FD=$( ulimit -H -n ) ||
|
fi
|
||||||
warn "Could not query maximum file descriptor limit"
|
ulimit -n $MAX_FD
|
||||||
esac
|
if [ $? -ne 0 ] ; then
|
||||||
case $MAX_FD in #(
|
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||||
'' | soft) :;; #(
|
fi
|
||||||
*)
|
else
|
||||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||||
# shellcheck disable=SC3045
|
fi
|
||||||
ulimit -n "$MAX_FD" ||
|
|
||||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Collect all arguments for the java command, stacking in reverse order:
|
# For Darwin, add options to specify how the application appears in the dock
|
||||||
# * args from the command line
|
if $darwin; then
|
||||||
# * the main class name
|
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||||
# * -classpath
|
|
||||||
# * -D...appname settings
|
|
||||||
# * --module-path (only if needed)
|
|
||||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
|
||||||
|
|
||||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
|
||||||
if "$cygwin" || "$msys" ; then
|
|
||||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
|
||||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
|
||||||
|
|
||||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
|
||||||
|
|
||||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
|
||||||
for arg do
|
|
||||||
if
|
|
||||||
case $arg in #(
|
|
||||||
-*) false ;; # don't mess with options #(
|
|
||||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
|
||||||
[ -e "$t" ] ;; #(
|
|
||||||
*) false ;;
|
|
||||||
esac
|
|
||||||
then
|
|
||||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
|
||||||
fi
|
fi
|
||||||
# Roll the args list around exactly as many times as the number of
|
|
||||||
# args, so each arg winds up back in the position where it started, but
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
# possibly modified.
|
if $cygwin ; then
|
||||||
#
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||||
# NB: a `for` loop captures its iteration list before it begins, so
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||||
# changing the positional parameters here affects neither the number of
|
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||||
# iterations, nor the values presented in `arg`.
|
|
||||||
shift # remove old arg
|
# We build the pattern for arguments to be converted via cygpath
|
||||||
set -- "$@" "$arg" # push replacement arg
|
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||||
|
SEP=""
|
||||||
|
for dir in $ROOTDIRSRAW ; do
|
||||||
|
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||||
|
SEP="|"
|
||||||
done
|
done
|
||||||
|
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||||
|
# Add a user-defined pattern to the cygpath arguments
|
||||||
|
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||||
|
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||||
|
fi
|
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
i=0
|
||||||
|
for arg in "$@" ; do
|
||||||
|
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||||
|
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||||
|
|
||||||
|
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||||
|
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||||
|
else
|
||||||
|
eval `echo args$i`="\"$arg\""
|
||||||
|
fi
|
||||||
|
i=$((i+1))
|
||||||
|
done
|
||||||
|
case $i in
|
||||||
|
(0) set -- ;;
|
||||||
|
(1) set -- "$args0" ;;
|
||||||
|
(2) set -- "$args0" "$args1" ;;
|
||||||
|
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||||
|
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||||
|
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||||
|
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||||
|
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||||
|
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||||
|
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Collect all arguments for the java command;
|
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
function splitJvmOpts() {
|
||||||
# shell script including quotes and variable substitutions, so put them in
|
JVM_OPTS=("$@")
|
||||||
# double quotes to make sure that they get re-expanded; and
|
}
|
||||||
# * put everything else in single quotes, so that it's not re-expanded.
|
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||||
|
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||||
|
|
||||||
set -- \
|
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
||||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
|
||||||
-classpath "$CLASSPATH" \
|
|
||||||
org.gradle.wrapper.GradleWrapperMain \
|
|
||||||
"$@"
|
|
||||||
|
|
||||||
# Stop when "xargs" is not available.
|
|
||||||
if ! command -v xargs >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
die "xargs is not available"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Use "xargs" to parse quoted args.
|
|
||||||
#
|
|
||||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
|
||||||
#
|
|
||||||
# In Bash we could simply go:
|
|
||||||
#
|
|
||||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
|
||||||
# set -- "${ARGS[@]}" "$@"
|
|
||||||
#
|
|
||||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
|
||||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
|
||||||
# character that might be a shell metacharacter, then use eval to reverse
|
|
||||||
# that process (while maintaining the separation between arguments), and wrap
|
|
||||||
# the whole thing up as a single "set" statement.
|
|
||||||
#
|
|
||||||
# This will of course break if any of these variables contains a newline or
|
|
||||||
# an unmatched quote.
|
|
||||||
#
|
|
||||||
|
|
||||||
eval "set -- $(
|
|
||||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
|
||||||
xargs -n1 |
|
|
||||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
|
||||||
tr '\n' ' '
|
|
||||||
)" '"$@"'
|
|
||||||
|
|
||||||
exec "$JAVACMD" "$@"
|
|
||||||
|
|||||||
Vendored
+6
@@ -49,6 +49,7 @@ goto fail
|
|||||||
@rem Get command-line arguments, handling Windows variants
|
@rem Get command-line arguments, handling Windows variants
|
||||||
|
|
||||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||||
|
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||||
|
|
||||||
:win9xME_args
|
:win9xME_args
|
||||||
@rem Slurp the command line arguments.
|
@rem Slurp the command line arguments.
|
||||||
@@ -59,6 +60,11 @@ set _SKIP=2
|
|||||||
if "x%~1" == "x" goto execute
|
if "x%~1" == "x" goto execute
|
||||||
|
|
||||||
set CMD_LINE_ARGS=%*
|
set CMD_LINE_ARGS=%*
|
||||||
|
goto execute
|
||||||
|
|
||||||
|
:4NT_args
|
||||||
|
@rem Get arguments from the 4NT Shell from JP Software
|
||||||
|
set CMD_LINE_ARGS=%$
|
||||||
|
|
||||||
:execute
|
:execute
|
||||||
@rem Setup the command line
|
@rem Setup the command line
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
pluginManagement {
|
|
||||||
repositories {
|
|
||||||
maven {
|
|
||||||
// RetroFuturaGradle
|
|
||||||
name 'GTNH Maven'
|
|
||||||
//noinspection HttpUrlsUsage
|
|
||||||
url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/'
|
|
||||||
allowInsecureProtocol = true
|
|
||||||
//noinspection GroovyAssignabilityCheck
|
|
||||||
mavenContent {
|
|
||||||
includeGroup 'com.gtnewhorizons'
|
|
||||||
includeGroup 'com.gtnewhorizons.retrofuturagradle'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gradlePluginPortal()
|
|
||||||
mavenCentral()
|
|
||||||
mavenLocal()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
// Automatic toolchain provisioning
|
|
||||||
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.4.0'
|
|
||||||
}
|
|
||||||
|
|
||||||
rootProject.name = rootProject.projectDir.getName()
|
|
||||||
@@ -25,13 +25,13 @@ package appeng.api;
|
|||||||
|
|
||||||
|
|
||||||
import appeng.api.definitions.IDefinitions;
|
import appeng.api.definitions.IDefinitions;
|
||||||
|
import appeng.api.exceptions.FailedConnection;
|
||||||
import appeng.api.features.IRegistryContainer;
|
import appeng.api.features.IRegistryContainer;
|
||||||
import appeng.api.networking.IGridHelper;
|
import appeng.api.networking.IGridBlock;
|
||||||
|
import appeng.api.networking.IGridConnection;
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
import appeng.api.parts.IPartHelper;
|
import appeng.api.parts.IPartHelper;
|
||||||
import appeng.api.storage.IStorageHelper;
|
import appeng.api.storage.IStorageHelper;
|
||||||
import appeng.api.util.IClientHelper;
|
|
||||||
|
|
||||||
|
|
||||||
@AEInjectable
|
@AEInjectable
|
||||||
public interface IAppEngApi
|
public interface IAppEngApi
|
||||||
@@ -42,28 +42,36 @@ public interface IAppEngApi
|
|||||||
IRegistryContainer registries();
|
IRegistryContainer registries();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return A helper for working with storage data types.
|
* @return helper for working with storage data types.
|
||||||
*/
|
*/
|
||||||
IStorageHelper storage();
|
IStorageHelper storage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return A helper to create {@link IGridNode} and other grid related objects.
|
* @return helper for working with grids, and buses.
|
||||||
*/
|
|
||||||
IGridHelper grid();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return A helper for working with grids, and buses.
|
|
||||||
*/
|
*/
|
||||||
IPartHelper partHelper();
|
IPartHelper partHelper();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return An accessible list of all AE definitions
|
* @return an accessible list of all AE definitions
|
||||||
*/
|
*/
|
||||||
IDefinitions definitions();
|
IDefinitions definitions();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Utility methods primarily useful for client side stuff
|
* create a grid node for your {@link appeng.api.networking.IGridHost}
|
||||||
|
*
|
||||||
|
* @param block grid block
|
||||||
|
*
|
||||||
|
* @return grid node of block
|
||||||
*/
|
*/
|
||||||
IClientHelper client();
|
IGridNode createGridNode( IGridBlock block );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* create a connection between two {@link appeng.api.networking.IGridNode}
|
||||||
|
*
|
||||||
|
* @param a to be connected gridnode
|
||||||
|
* @param b to be connected gridnode
|
||||||
|
*
|
||||||
|
* @throws appeng.api.exceptions.FailedConnection
|
||||||
|
*/
|
||||||
|
IGridConnection createGridConnection( IGridNode a, IGridNode b ) throws FailedConnection;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013 AlgorithmX2
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
* this software and associated documentation files (the "Software"), to deal in
|
||||||
|
* the Software without restriction, including without limitation the rights to
|
||||||
|
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package appeng.api.client;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||||
|
import net.minecraft.util.EnumFacing;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Needs to be moved to an internal class. API is only allowed to contain interfaces and/or data.
|
||||||
|
*
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public class BakingPipeline<F, T> implements BakingPipelineElement<F, T>
|
||||||
|
{
|
||||||
|
|
||||||
|
private final ImmutableList<BakingPipelineElement<?, ?>> pipeline;
|
||||||
|
|
||||||
|
public BakingPipeline( BakingPipelineElement<?, ?>... pipeline )
|
||||||
|
{
|
||||||
|
this.pipeline = ImmutableList.copyOf( pipeline );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: fix generics
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List pipe( List things, IBakedModel parent, IBlockState state, EnumFacing side, long rand )
|
||||||
|
{
|
||||||
|
for( BakingPipelineElement pipe : pipeline )
|
||||||
|
{
|
||||||
|
things = pipe.pipe( things, parent, state, side, rand );
|
||||||
|
}
|
||||||
|
return things;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013 AlgorithmX2
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
* this software and associated documentation files (the "Software"), to deal in
|
||||||
|
* the Software without restriction, including without limitation the rights to
|
||||||
|
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package appeng.api.client;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||||
|
import net.minecraft.util.EnumFacing;
|
||||||
|
|
||||||
|
|
||||||
|
public interface BakingPipelineElement<F, T>
|
||||||
|
{
|
||||||
|
|
||||||
|
public List<T> pipe( List<F> elements, IBakedModel parent, IBlockState state, EnumFacing side, long rand );
|
||||||
|
|
||||||
|
}
|
||||||
@@ -26,20 +26,5 @@ package appeng.api.config;
|
|||||||
|
|
||||||
public enum ActionItems
|
public enum ActionItems
|
||||||
{
|
{
|
||||||
WRENCH,
|
WRENCH, CLOSE, STASH, ENCODE, SUBSTITUTION
|
||||||
CLOSE,
|
|
||||||
STASH,
|
|
||||||
ENCODE,
|
|
||||||
SUBSTITUTION,
|
|
||||||
MULTIPLY_BY_TWO,
|
|
||||||
MULTIPLY_BY_THREE,
|
|
||||||
INCREASE_BY_ONE,
|
|
||||||
DIVIDE_BY_TWO,
|
|
||||||
DIVIDE_BY_THREE,
|
|
||||||
DECREASE_BY_ONE,
|
|
||||||
MAX_COUNT,
|
|
||||||
FREE_MOLECULAR_SLOT_SHORTCUT,
|
|
||||||
TOGGLE_SHOW_FULL_INTERFACES_ON,
|
|
||||||
TOGGLE_SHOW_FULL_INTERFACES_OFF,
|
|
||||||
HIGHLIGHT_INTERFACE
|
|
||||||
}
|
}
|
||||||
@@ -28,8 +28,7 @@ public enum PowerUnits
|
|||||||
{
|
{
|
||||||
AE( "gui.appliedenergistics2.units.appliedenergstics" ), // Native Units - AE Energy
|
AE( "gui.appliedenergistics2.units.appliedenergstics" ), // Native Units - AE Energy
|
||||||
EU( "gui.appliedenergistics2.units.ic2" ), // IndustrialCraft 2 - Energy Units
|
EU( "gui.appliedenergistics2.units.ic2" ), // IndustrialCraft 2 - Energy Units
|
||||||
RF( "gui.appliedenergistics2.units.rf" ), // RF - Redstone Flux
|
RF( "gui.appliedenergistics2.units.rf" ); // RF - Redstone Flux
|
||||||
GTEU( "gui.appliedenergistics2.units.gteu" ); // RF - Redstone Flux
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* unlocalized name for the power unit.
|
* unlocalized name for the power unit.
|
||||||
@@ -47,13 +46,14 @@ public enum PowerUnits
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* do power conversion using AE's conversion rates.
|
* do power conversion using AE's conversion rates.
|
||||||
* <p>
|
*
|
||||||
* Example: PowerUnits.EU.convertTo( PowerUnits.AE, 32 );
|
* Example: PowerUnits.EU.convertTo( PowerUnits.AE, 32 );
|
||||||
* <p>
|
*
|
||||||
* will normally returns 64, as it will convert the EU, to AE with AE's power settings.
|
* will normally returns 64, as it will convert the EU, to AE with AE's power settings.
|
||||||
*
|
*
|
||||||
* @param target target power unit
|
* @param target target power unit
|
||||||
* @param value value
|
* @param value value
|
||||||
|
*
|
||||||
* @return value converted to target units, from this units.
|
* @return value converted to target units, from this units.
|
||||||
*/
|
*/
|
||||||
public double convertTo( final PowerUnits target, final double value )
|
public double convertTo( final PowerUnits target, final double value )
|
||||||
|
|||||||
@@ -26,5 +26,5 @@ package appeng.api.config;
|
|||||||
|
|
||||||
public enum SearchBoxMode
|
public enum SearchBoxMode
|
||||||
{
|
{
|
||||||
AUTOSEARCH, AUTOSEARCH_KEEP, MANUAL_SEARCH, MANUAL_SEARCH_KEEP, JEI_AUTOSEARCH, JEI_AUTOSEARCH_KEEP, JEI_MANUAL_SEARCH, JEI_MANUAL_SEARCH_KEEP
|
AUTOSEARCH, MANUAL_SEARCH, JEI_AUTOSEARCH, JEI_MANUAL_SEARCH
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,53 +33,29 @@ public enum Settings
|
|||||||
{
|
{
|
||||||
LEVEL_EMITTER_MODE( EnumSet.allOf( LevelEmitterMode.class ) ),
|
LEVEL_EMITTER_MODE( EnumSet.allOf( LevelEmitterMode.class ) ),
|
||||||
|
|
||||||
REDSTONE_EMITTER( EnumSet.of( RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL ) ),
|
REDSTONE_EMITTER( EnumSet.of( RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL ) ), REDSTONE_CONTROLLED( EnumSet.allOf( RedstoneMode.class ) ),
|
||||||
|
|
||||||
REDSTONE_CONTROLLED( EnumSet.allOf( RedstoneMode.class ) ),
|
|
||||||
|
|
||||||
CONDENSER_OUTPUT( EnumSet.allOf( CondenserOutput.class ) ),
|
CONDENSER_OUTPUT( EnumSet.allOf( CondenserOutput.class ) ),
|
||||||
|
|
||||||
POWER_UNITS( EnumSet.allOf( PowerUnits.class ) ),
|
POWER_UNITS( EnumSet.allOf( PowerUnits.class ) ), ACCESS( EnumSet.of( AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE ) ),
|
||||||
|
|
||||||
ACCESS( EnumSet.of( AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE ) ),
|
SORT_DIRECTION( EnumSet.allOf( SortDir.class ) ), SORT_BY( EnumSet.allOf( SortOrder.class ) ),
|
||||||
|
|
||||||
SORT_DIRECTION( EnumSet.allOf( SortDir.class ) ),
|
SEARCH_TOOLTIPS( EnumSet.of( YesNo.YES, YesNo.NO ) ), VIEW_MODE( EnumSet.allOf( ViewItems.class ) ), SEARCH_MODE( EnumSet.allOf( SearchBoxMode.class ) ),
|
||||||
|
|
||||||
SORT_BY( EnumSet.allOf( SortOrder.class ) ),
|
ACTIONS( EnumSet.allOf( ActionItems.class ) ), IO_DIRECTION( EnumSet.of( RelativeDirection.LEFT, RelativeDirection.RIGHT ) ),
|
||||||
|
|
||||||
SEARCH_TOOLTIPS( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ), OPERATION_MODE( EnumSet.allOf( OperationMode.class ) ),
|
||||||
|
|
||||||
VIEW_MODE( EnumSet.allOf( ViewItems.class ) ),
|
FULLNESS_MODE( EnumSet.allOf( FullnessMode.class ) ), CRAFT_ONLY( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||||
|
|
||||||
SEARCH_MODE( EnumSet.allOf( SearchBoxMode.class ) ),
|
FUZZY_MODE( EnumSet.allOf( FuzzyMode.class ) ), LEVEL_TYPE( EnumSet.allOf( LevelType.class ) ),
|
||||||
|
|
||||||
ACTIONS( EnumSet.allOf( ActionItems.class ) ),
|
TERMINAL_STYLE( EnumSet.of( TerminalStyle.TALL, TerminalStyle.SMALL ) ), COPY_MODE( EnumSet.allOf( CopyMode.class ) ),
|
||||||
|
|
||||||
IO_DIRECTION( EnumSet.of( RelativeDirection.LEFT, RelativeDirection.RIGHT ) ),
|
INTERFACE_TERMINAL( EnumSet.of( YesNo.YES, YesNo.NO ) ), CRAFT_VIA_REDSTONE( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||||
|
|
||||||
BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
STORAGE_FILTER( EnumSet.allOf( StorageFilter.class ) ), PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||||
|
|
||||||
OPERATION_MODE( EnumSet.allOf( OperationMode.class ) ),
|
|
||||||
|
|
||||||
FULLNESS_MODE( EnumSet.allOf( FullnessMode.class ) ),
|
|
||||||
|
|
||||||
CRAFT_ONLY( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
|
||||||
|
|
||||||
FUZZY_MODE( EnumSet.allOf( FuzzyMode.class ) ),
|
|
||||||
|
|
||||||
LEVEL_TYPE( EnumSet.allOf( LevelType.class ) ),
|
|
||||||
|
|
||||||
TERMINAL_STYLE( EnumSet.of( TerminalStyle.TALL, TerminalStyle.SMALL ) ),
|
|
||||||
|
|
||||||
COPY_MODE( EnumSet.allOf( CopyMode.class ) ),
|
|
||||||
|
|
||||||
INTERFACE_TERMINAL( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
|
||||||
|
|
||||||
CRAFT_VIA_REDSTONE( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
|
||||||
|
|
||||||
STORAGE_FILTER( EnumSet.allOf( StorageFilter.class ) ),
|
|
||||||
|
|
||||||
PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
|
||||||
|
|
||||||
SCHEDULING_MODE( EnumSet.allOf( SchedulingMode.class ) );
|
SCHEDULING_MODE( EnumSet.allOf( SchedulingMode.class ) );
|
||||||
|
|
||||||
|
|||||||
@@ -28,8 +28,7 @@ public enum TunnelType
|
|||||||
{
|
{
|
||||||
ME, // Network Tunnel
|
ME, // Network Tunnel
|
||||||
IC2_POWER, // EU Tunnel
|
IC2_POWER, // EU Tunnel
|
||||||
FE_POWER, // Forge Energy tunnel
|
RF_POWER, // RF Tunnel
|
||||||
GTEU_POWER, // Forge Energy tunnel
|
|
||||||
REDSTONE, // Redstone Tunnel
|
REDSTONE, // Redstone Tunnel
|
||||||
FLUID, // Fluid Tunnel
|
FLUID, // Fluid Tunnel
|
||||||
ITEM, // Item Tunnel
|
ITEM, // Item Tunnel
|
||||||
|
|||||||
@@ -32,35 +32,31 @@ import net.minecraft.item.ItemStack;
|
|||||||
import appeng.api.definitions.IItemDefinition;
|
import appeng.api.definitions.IItemDefinition;
|
||||||
|
|
||||||
|
|
||||||
public enum Upgrades {
|
public enum Upgrades
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Gold Tier Upgrades.
|
* Gold Tier Upgrades.
|
||||||
*/
|
*/
|
||||||
CAPACITY(0),
|
CAPACITY( 0 ), REDSTONE( 0 ), CRAFTING( 0 ),
|
||||||
REDSTONE(0),
|
|
||||||
CRAFTING(0),
|
|
||||||
MAGNET(0),
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diamond Tier Upgrades.
|
* Diamond Tier Upgrades.
|
||||||
*/
|
*/
|
||||||
FUZZY(1),
|
FUZZY( 1 ), SPEED( 1 ), INVERTER( 1 );
|
||||||
SPEED(1),
|
|
||||||
INVERTER(1),
|
|
||||||
PATTERN_EXPANSION(1),
|
|
||||||
QUANTUM_LINK(1);
|
|
||||||
|
|
||||||
private final int tier;
|
private final int tier;
|
||||||
private final Map<ItemStack, Integer> supportedMax = new HashMap<>();
|
private final Map<ItemStack, Integer> supportedMax = new HashMap<>();
|
||||||
|
|
||||||
Upgrades(final int tier) {
|
Upgrades( final int tier )
|
||||||
|
{
|
||||||
this.tier = tier;
|
this.tier = tier;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return list of Items/Blocks that support this upgrade, and how many it supports.
|
* @return list of Items/Blocks that support this upgrade, and how many it supports.
|
||||||
*/
|
*/
|
||||||
public Map<ItemStack, Integer> getSupported() {
|
public Map<ItemStack, Integer> getSupported()
|
||||||
|
{
|
||||||
return this.supportedMax;
|
return this.supportedMax;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,7 +66,8 @@ public enum Upgrades {
|
|||||||
* @param item machine in which this upgrade can be installed
|
* @param item machine in which this upgrade can be installed
|
||||||
* @param maxSupported amount how many upgrades can be installed
|
* @param maxSupported amount how many upgrades can be installed
|
||||||
*/
|
*/
|
||||||
public void registerItem(final IItemDefinition item, final int maxSupported) {
|
public void registerItem( final IItemDefinition item, final int maxSupported )
|
||||||
|
{
|
||||||
item.maybeStack( 1 ).ifPresent( is -> this.registerItem( is, maxSupported ) );
|
item.maybeStack( 1 ).ifPresent( is -> this.registerItem( is, maxSupported ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,13 +77,16 @@ public enum Upgrades {
|
|||||||
* @param stack machine in which this upgrade can be installed
|
* @param stack machine in which this upgrade can be installed
|
||||||
* @param maxSupported amount how many upgrades can be installed
|
* @param maxSupported amount how many upgrades can be installed
|
||||||
*/
|
*/
|
||||||
public void registerItem(final ItemStack stack, final int maxSupported) {
|
public void registerItem( final ItemStack stack, final int maxSupported )
|
||||||
if (stack != null) {
|
{
|
||||||
|
if( stack != null )
|
||||||
|
{
|
||||||
this.supportedMax.put( stack, maxSupported );
|
this.supportedMax.put( stack, maxSupported );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTier() {
|
public int getTier()
|
||||||
|
{
|
||||||
return this.tier;
|
return this.tier;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -148,8 +148,6 @@ public interface IBlocks
|
|||||||
|
|
||||||
ITileDefinition iface();
|
ITileDefinition iface();
|
||||||
|
|
||||||
ITileDefinition fluidIface();
|
|
||||||
|
|
||||||
ITileDefinition cellWorkbench();
|
ITileDefinition cellWorkbench();
|
||||||
|
|
||||||
ITileDefinition iOPort();
|
ITileDefinition iOPort();
|
||||||
|
|||||||
@@ -30,7 +30,8 @@ import appeng.api.util.AEColoredItemDefinition;
|
|||||||
/**
|
/**
|
||||||
* A list of all items in AE
|
* A list of all items in AE
|
||||||
*/
|
*/
|
||||||
public interface IItems {
|
public interface IItems
|
||||||
|
{
|
||||||
IItemDefinition certusQuartzAxe();
|
IItemDefinition certusQuartzAxe();
|
||||||
|
|
||||||
IItemDefinition certusQuartzHoe();
|
IItemDefinition certusQuartzHoe();
|
||||||
@@ -63,12 +64,6 @@ public interface IItems {
|
|||||||
|
|
||||||
IItemDefinition wirelessTerminal();
|
IItemDefinition wirelessTerminal();
|
||||||
|
|
||||||
IItemDefinition wirelessCraftingTerminal();
|
|
||||||
|
|
||||||
IItemDefinition wirelessPatternTerminal();
|
|
||||||
|
|
||||||
IItemDefinition wirelessFluidTerminal();
|
|
||||||
|
|
||||||
IItemDefinition biometricCard();
|
IItemDefinition biometricCard();
|
||||||
|
|
||||||
IItemDefinition chargedStaff();
|
IItemDefinition chargedStaff();
|
||||||
@@ -93,14 +88,6 @@ public interface IItems {
|
|||||||
|
|
||||||
IItemDefinition cell64k();
|
IItemDefinition cell64k();
|
||||||
|
|
||||||
IItemDefinition fluidCell1k();
|
|
||||||
|
|
||||||
IItemDefinition fluidCell4k();
|
|
||||||
|
|
||||||
IItemDefinition fluidCell16k();
|
|
||||||
|
|
||||||
IItemDefinition fluidCell64k();
|
|
||||||
|
|
||||||
IItemDefinition spatialCell2();
|
IItemDefinition spatialCell2();
|
||||||
|
|
||||||
IItemDefinition spatialCell16();
|
IItemDefinition spatialCell16();
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ package appeng.api.definitions;
|
|||||||
/**
|
/**
|
||||||
* A list of all materials in AE
|
* A list of all materials in AE
|
||||||
*/
|
*/
|
||||||
public interface IMaterials {
|
public interface IMaterials
|
||||||
|
{
|
||||||
IItemDefinition cell2SpatialPart();
|
IItemDefinition cell2SpatialPart();
|
||||||
|
|
||||||
IItemDefinition cell16SpatialPart();
|
IItemDefinition cell16SpatialPart();
|
||||||
@@ -88,12 +89,6 @@ public interface IMaterials {
|
|||||||
|
|
||||||
IItemDefinition cardCapacity();
|
IItemDefinition cardCapacity();
|
||||||
|
|
||||||
IItemDefinition cardPatternExpansion();
|
|
||||||
|
|
||||||
IItemDefinition cardQuantumLink();
|
|
||||||
|
|
||||||
IItemDefinition cardMagnet();
|
|
||||||
|
|
||||||
IItemDefinition cardFuzzy();
|
IItemDefinition cardFuzzy();
|
||||||
|
|
||||||
IItemDefinition cardInverter();
|
IItemDefinition cardInverter();
|
||||||
@@ -116,6 +111,8 @@ public interface IMaterials {
|
|||||||
|
|
||||||
IItemDefinition matterBall();
|
IItemDefinition matterBall();
|
||||||
|
|
||||||
|
IItemDefinition ironNugget();
|
||||||
|
|
||||||
IItemDefinition certusQuartzCrystal();
|
IItemDefinition certusQuartzCrystal();
|
||||||
|
|
||||||
IItemDefinition certusQuartzCrystalCharged();
|
IItemDefinition certusQuartzCrystalCharged();
|
||||||
@@ -139,12 +136,4 @@ public interface IMaterials {
|
|||||||
IItemDefinition qESingularity();
|
IItemDefinition qESingularity();
|
||||||
|
|
||||||
IItemDefinition blankPattern();
|
IItemDefinition blankPattern();
|
||||||
|
|
||||||
IItemDefinition fluidCell1kPart();
|
|
||||||
|
|
||||||
IItemDefinition fluidCell4kPart();
|
|
||||||
|
|
||||||
IItemDefinition fluidCell16kPart();
|
|
||||||
|
|
||||||
IItemDefinition fluidCell64kPart();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,16 +30,15 @@ import appeng.api.util.AEColoredItemDefinition;
|
|||||||
/**
|
/**
|
||||||
* A list of all parts in AE
|
* A list of all parts in AE
|
||||||
*/
|
*/
|
||||||
public interface IParts {
|
public interface IParts
|
||||||
|
{
|
||||||
AEColoredItemDefinition cableSmart();
|
AEColoredItemDefinition cableSmart();
|
||||||
|
|
||||||
AEColoredItemDefinition cableCovered();
|
AEColoredItemDefinition cableCovered();
|
||||||
|
|
||||||
AEColoredItemDefinition cableGlass();
|
AEColoredItemDefinition cableGlass();
|
||||||
|
|
||||||
AEColoredItemDefinition cableDenseCovered();
|
AEColoredItemDefinition cableDense();
|
||||||
|
|
||||||
AEColoredItemDefinition cableDenseSmart();
|
|
||||||
|
|
||||||
AEColoredItemDefinition lumenCableSmart();
|
AEColoredItemDefinition lumenCableSmart();
|
||||||
|
|
||||||
@@ -47,7 +46,7 @@ public interface IParts {
|
|||||||
|
|
||||||
AEColoredItemDefinition lumenCableGlass();
|
AEColoredItemDefinition lumenCableGlass();
|
||||||
|
|
||||||
AEColoredItemDefinition lumenDenseCableSmart();
|
AEColoredItemDefinition lumenCableDense();
|
||||||
|
|
||||||
IItemDefinition quartzFiber();
|
IItemDefinition quartzFiber();
|
||||||
|
|
||||||
@@ -57,16 +56,12 @@ public interface IParts {
|
|||||||
|
|
||||||
IItemDefinition storageBus();
|
IItemDefinition storageBus();
|
||||||
|
|
||||||
IItemDefinition oreDictStorageBus();
|
|
||||||
|
|
||||||
IItemDefinition importBus();
|
IItemDefinition importBus();
|
||||||
|
|
||||||
IItemDefinition exportBus();
|
IItemDefinition exportBus();
|
||||||
|
|
||||||
IItemDefinition iface();
|
IItemDefinition iface();
|
||||||
|
|
||||||
IItemDefinition fluidIface();
|
|
||||||
|
|
||||||
IItemDefinition levelEmitter();
|
IItemDefinition levelEmitter();
|
||||||
|
|
||||||
IItemDefinition annihilationPlane();
|
IItemDefinition annihilationPlane();
|
||||||
@@ -85,9 +80,7 @@ public interface IParts {
|
|||||||
|
|
||||||
IItemDefinition p2PTunnelEU();
|
IItemDefinition p2PTunnelEU();
|
||||||
|
|
||||||
IItemDefinition p2PTunnelFE();
|
// IItemDefinition p2PTunnelRF();
|
||||||
|
|
||||||
IItemDefinition p2PTunnelGTEU();
|
|
||||||
|
|
||||||
IItemDefinition p2PTunnelLight();
|
IItemDefinition p2PTunnelLight();
|
||||||
|
|
||||||
@@ -105,12 +98,6 @@ public interface IParts {
|
|||||||
|
|
||||||
IItemDefinition patternTerminal();
|
IItemDefinition patternTerminal();
|
||||||
|
|
||||||
IItemDefinition expandedProcessingPatternTerminal();
|
|
||||||
|
|
||||||
IItemDefinition interfaceConfigurationTerminal();
|
|
||||||
|
|
||||||
IItemDefinition fluidInterfaceConfigurationTerminal();
|
|
||||||
|
|
||||||
IItemDefinition craftingTerminal();
|
IItemDefinition craftingTerminal();
|
||||||
|
|
||||||
IItemDefinition terminal();
|
IItemDefinition terminal();
|
||||||
@@ -118,18 +105,4 @@ public interface IParts {
|
|||||||
IItemDefinition storageMonitor();
|
IItemDefinition storageMonitor();
|
||||||
|
|
||||||
IItemDefinition conversionMonitor();
|
IItemDefinition conversionMonitor();
|
||||||
|
|
||||||
IItemDefinition fluidTerminal();
|
|
||||||
|
|
||||||
IItemDefinition fluidImportBus();
|
|
||||||
|
|
||||||
IItemDefinition fluidExportBus();
|
|
||||||
|
|
||||||
IItemDefinition fluidStorageBus();
|
|
||||||
|
|
||||||
IItemDefinition fluidLevelEmitter();
|
|
||||||
|
|
||||||
IItemDefinition fluidAnnihilationPlane();
|
|
||||||
|
|
||||||
IItemDefinition fluidFormationnPlane();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,8 +21,6 @@ package appeng.api.exceptions;
|
|||||||
|
|
||||||
public class CoreInaccessibleException extends RuntimeException
|
public class CoreInaccessibleException extends RuntimeException
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = -7434641554655517242L;
|
|
||||||
|
|
||||||
public CoreInaccessibleException( final String message )
|
public CoreInaccessibleException( final String message )
|
||||||
{
|
{
|
||||||
super( message );
|
super( message );
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ import appeng.api.networking.IGridNode;
|
|||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv3
|
* @since rv3
|
||||||
*/
|
*/
|
||||||
public class ExistingConnectionException extends FailedConnectionException
|
public class ExistingConnectionException extends FailedConnection
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = 2975450379720353182L;
|
private static final long serialVersionUID = 2975450379720353182L;
|
||||||
|
|||||||
+3
-3
@@ -40,16 +40,16 @@ import appeng.api.networking.IGridNode;
|
|||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv0
|
* @since rv0
|
||||||
*/
|
*/
|
||||||
public class FailedConnectionException extends Exception
|
public class FailedConnection extends Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = -2544208090248293753L;
|
private static final long serialVersionUID = -2544208090248293753L;
|
||||||
|
|
||||||
public FailedConnectionException()
|
public FailedConnection()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public FailedConnectionException( String message )
|
public FailedConnection( String message )
|
||||||
{
|
{
|
||||||
super( message );
|
super( message );
|
||||||
}
|
}
|
||||||
+2
-4
@@ -19,11 +19,9 @@
|
|||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
public class MissingDefinitionException extends RuntimeException
|
public class MissingDefinition extends RuntimeException
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = -6547396584255825761L;
|
public MissingDefinition( final String message )
|
||||||
|
|
||||||
public MissingDefinitionException( final String message )
|
|
||||||
{
|
{
|
||||||
super( message );
|
super( message );
|
||||||
}
|
}
|
||||||
+2
-2
@@ -24,12 +24,12 @@
|
|||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
public class MissingIngredientException extends Exception
|
public class MissingIngredientError extends Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = -998858343831371697L;
|
private static final long serialVersionUID = -998858343831371697L;
|
||||||
|
|
||||||
public MissingIngredientException( final String n )
|
public MissingIngredientError( final String n )
|
||||||
{
|
{
|
||||||
super( n );
|
super( n );
|
||||||
}
|
}
|
||||||
+2
-2
@@ -24,12 +24,12 @@
|
|||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
public class ModNotInstalledException extends Exception
|
public class ModNotInstalled extends Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = -9052435206368425494L;
|
private static final long serialVersionUID = -9052435206368425494L;
|
||||||
|
|
||||||
public ModNotInstalledException( final String t )
|
public ModNotInstalled( final String t )
|
||||||
{
|
{
|
||||||
super( t );
|
super( t );
|
||||||
}
|
}
|
||||||
@@ -34,7 +34,7 @@ package appeng.api.exceptions;
|
|||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv3
|
* @since rv3
|
||||||
*/
|
*/
|
||||||
public class NullNodeConnectionException extends FailedConnectionException
|
public class NullNodeConnectionException extends FailedConnection
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = -2143719383495321764L;
|
private static final long serialVersionUID = -2143719383495321764L;
|
||||||
|
|||||||
+2
-2
@@ -24,12 +24,12 @@
|
|||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
public class RecipeException extends Exception
|
public class RecipeError extends Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = -6602870588617670262L;
|
private static final long serialVersionUID = -6602870588617670262L;
|
||||||
|
|
||||||
public RecipeException( final String n )
|
public RecipeError( final String n )
|
||||||
{
|
{
|
||||||
super( n );
|
super( n );
|
||||||
}
|
}
|
||||||
+2
-2
@@ -24,12 +24,12 @@
|
|||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
public class RegistrationException extends Exception
|
public class RegistrationError extends Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = -6602870588617670263L;
|
private static final long serialVersionUID = -6602870588617670263L;
|
||||||
|
|
||||||
public RegistrationException( final String n )
|
public RegistrationError( final String n )
|
||||||
{
|
{
|
||||||
super( n );
|
super( n );
|
||||||
}
|
}
|
||||||
@@ -34,7 +34,7 @@ package appeng.api.exceptions;
|
|||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv3
|
* @since rv3
|
||||||
*/
|
*/
|
||||||
public class SecurityConnectionException extends FailedConnectionException
|
public class SecurityConnectionException extends FailedConnection
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 5048714900434215426L;
|
private static final long serialVersionUID = 5048714900434215426L;
|
||||||
private static final String DEFAULT_MESSAGE = "Connection failed due to different security realms.";
|
private static final String DEFAULT_MESSAGE = "Connection failed due to different security realms.";
|
||||||
|
|||||||
@@ -1,84 +0,0 @@
|
|||||||
/*
|
|
||||||
* The MIT License (MIT)
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 AlgorithmX2
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
* this software and associated documentation files (the "Software"), to deal in
|
|
||||||
* the Software without restriction, including without limitation the rights to
|
|
||||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
* subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package appeng.api.features;
|
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
|
|
||||||
import appeng.api.implementations.items.IAEItemPowerStorage;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A registry to allow mapping {@link Item}s to a specific charge rate when being placed inside a charger.
|
|
||||||
*
|
|
||||||
* The registry is used in favor of an additional method for {@link IAEItemPowerStorage} with a fixed value per item.
|
|
||||||
* This allows more flexibility for other charger like machines to choose their own values when needed.
|
|
||||||
*
|
|
||||||
* There is no guarantee that this is charged per tick, it only represents the value per operation.
|
|
||||||
* By default this is one charging operation every 10 ticks in case of an AE2 charger.
|
|
||||||
*
|
|
||||||
* @author yueh
|
|
||||||
* @version rv5
|
|
||||||
* @since rv5
|
|
||||||
*/
|
|
||||||
public interface IChargerRegistry
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fetch a charge rate for a specific item.
|
|
||||||
*
|
|
||||||
* The specific item does not need to have a mapping registered at all.
|
|
||||||
* In this case it will use a default value of 160 AE.
|
|
||||||
*
|
|
||||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
|
||||||
* @return custom rate or default of 160
|
|
||||||
*/
|
|
||||||
@Nonnegative
|
|
||||||
double getChargeRate( @Nonnull Item item );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register a custom charge rate for a specific item.
|
|
||||||
*
|
|
||||||
* Capped at 16000 to avoid extracting too much energy from a network for each operation.
|
|
||||||
* This is done silently without any feedback or exception.
|
|
||||||
* Further the cap is not fixed, it can change at any time in the future should power issues arise.
|
|
||||||
*
|
|
||||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
|
||||||
* @param chargeRate the custom rate, must be > 0, capped to 16000d
|
|
||||||
*/
|
|
||||||
void addChargeRate( @Nonnull Item item, @Nonnegative double chargeRate );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the custom rate for a specific item.
|
|
||||||
*
|
|
||||||
* It will revert to the default value afterwards.
|
|
||||||
*
|
|
||||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
|
||||||
*/
|
|
||||||
void removeChargeRate( @Nonnull Item item );
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
/*
|
|
||||||
* The MIT License (MIT)
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 AlgorithmX2
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
* this software and associated documentation files (the "Software"), to deal in
|
|
||||||
* the Software without restriction, including without limitation the rights to
|
|
||||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
* subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package appeng.api.features;
|
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Builder for a grinder recipe.
|
|
||||||
*
|
|
||||||
* The only default value provided are turns at a value of 8.
|
|
||||||
*
|
|
||||||
* @author yueh
|
|
||||||
* @version rv5
|
|
||||||
* @since rv5
|
|
||||||
*/
|
|
||||||
public interface IGrinderRecipeBuilder
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an grinder recipe with inputs.
|
|
||||||
* Needs to be invoked.
|
|
||||||
*
|
|
||||||
* @param input new input for the recipe
|
|
||||||
*
|
|
||||||
* @return currently used builder
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGrinderRecipeBuilder withInput( @Nonnull ItemStack input );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an grinder recipe with output.
|
|
||||||
* Needs to be invoked.
|
|
||||||
*
|
|
||||||
* @param output new output for the recipe
|
|
||||||
*
|
|
||||||
* @return currently used builder
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGrinderRecipeBuilder withOutput( @Nonnull ItemStack output );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an grinder recipe with the first optional output and its chance.
|
|
||||||
*
|
|
||||||
* @param optional new first optional for the recipe
|
|
||||||
* @param chance chance for the first optional output, must be within 0.0 - 1.0
|
|
||||||
*
|
|
||||||
* @return currently used builder
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGrinderRecipeBuilder withFirstOptional( @Nonnull ItemStack optional, float chance );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an grinder recipe with the second optional output and its chance.
|
|
||||||
*
|
|
||||||
* @param optional new second optional for the recipe
|
|
||||||
* @param chance chance for the second optional output, must be within 0.0 - 1.0
|
|
||||||
*
|
|
||||||
* @return currently used builder
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGrinderRecipeBuilder withSecondOptional( @Nonnull ItemStack optional, float chance );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an grinder recipe with the amount of turns as cost.
|
|
||||||
*
|
|
||||||
* Defaults to 8 when not called.
|
|
||||||
*
|
|
||||||
* @param turns new turns for the recipe, must be > 0
|
|
||||||
*
|
|
||||||
* @return currently used builder
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGrinderRecipeBuilder withTurns( @Nonnegative int turns );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Finalizes the process of making the recipe.
|
|
||||||
* Needs to be invoked to fetch grinder recipe.
|
|
||||||
*
|
|
||||||
* @return valid grinder recipe
|
|
||||||
*
|
|
||||||
* @throws IllegalStateException when input is not defined
|
|
||||||
* @throws IllegalStateException when input has no size
|
|
||||||
* @throws IllegalStateException when output is not defined
|
|
||||||
* @throws IllegalStateException when both optionals are not defined
|
|
||||||
* @throws IllegalStateException when process type is not defined
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGrinderRecipe build();
|
|
||||||
}
|
|
||||||
@@ -38,14 +38,6 @@ import net.minecraft.item.ItemStack;
|
|||||||
public interface IGrinderRegistry
|
public interface IGrinderRegistry
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
|
||||||
* Extensible way to create a grinder recipe.
|
|
||||||
*
|
|
||||||
* @return builder for grinder recipes
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGrinderRecipeBuilder builder();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An immutable list of the currently registered recipes.
|
* An immutable list of the currently registered recipes.
|
||||||
*
|
*
|
||||||
@@ -55,9 +47,44 @@ public interface IGrinderRegistry
|
|||||||
Collection<IGrinderRecipe> getRecipes();
|
Collection<IGrinderRecipe> getRecipes();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a new recipe to the registry.
|
* Add a new recipe with a single input and output and how many turns it requires.
|
||||||
|
*
|
||||||
|
* Will ignore duplicate recipes with the same input item.
|
||||||
|
*
|
||||||
|
* @param in The {@link ItemStack} to grind.
|
||||||
|
* @param out The {@link ItemStack} to output.
|
||||||
|
* @param turns Amount of turns to turn the input into the output, with turns > 0.
|
||||||
*/
|
*/
|
||||||
boolean addRecipe( IGrinderRecipe recipe );
|
void addRecipe( @Nonnull ItemStack in, @Nonnull ItemStack out, int turns );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new recipe with an input, output and a single optional output.
|
||||||
|
*
|
||||||
|
* Will ignore duplicate recipes with the same input item.
|
||||||
|
*
|
||||||
|
* @param in The {@link ItemStack} to grind.
|
||||||
|
* @param out The {@link ItemStack} to output.
|
||||||
|
* @param optional The optional {@link ItemStack} to output of a certain chance.
|
||||||
|
* @param chance Chance to get the optional output within 0.0 - 1.0
|
||||||
|
* @param turns Amount of turns to turn the input into the output, with turns > 0.
|
||||||
|
*/
|
||||||
|
void addRecipe( @Nonnull ItemStack in, @Nonnull ItemStack out, @Nonnull ItemStack optional, float chance, int turns );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* add a new recipe with optional outputs, duplicates will not be added.
|
||||||
|
*
|
||||||
|
* Will ignore duplicate recipes with the same input item.
|
||||||
|
*
|
||||||
|
* @param in The {@link ItemStack} to grind.
|
||||||
|
* @param out The {@link ItemStack} to output.
|
||||||
|
* @param optional The first optional {@link ItemStack} to output of a certain chance.
|
||||||
|
* @param chance Chance to get the first optional output within 0.0 - 1.0
|
||||||
|
* @param optional2 The second optional {@link ItemStack} to output of a certain chance.
|
||||||
|
* @param chance2 chance to get the second optional output within 0.0 - 1.0
|
||||||
|
* @param turns Amount of turns to turn the input into the output, with turns > 0.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void addRecipe( @Nonnull ItemStack in, @Nonnull ItemStack out, @Nonnull ItemStack optional, float chance, @Nonnull ItemStack optional2, float chance2, int turns );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove the specific from the recipe list.
|
* Remove the specific from the recipe list.
|
||||||
|
|||||||
@@ -31,19 +31,11 @@ import net.minecraft.item.ItemStack;
|
|||||||
* Lets you manipulate Inscriber Recipes, by adding or editing existing ones.
|
* Lets you manipulate Inscriber Recipes, by adding or editing existing ones.
|
||||||
*
|
*
|
||||||
* @author thatsIch
|
* @author thatsIch
|
||||||
* @version rv5
|
* @version rv3
|
||||||
* @since rv2
|
* @since rv2
|
||||||
*/
|
*/
|
||||||
public interface IInscriberRegistry
|
public interface IInscriberRegistry
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Extensible way to create an inscriber recipe.
|
|
||||||
*
|
|
||||||
* @return builder for inscriber recipes
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IInscriberRecipeBuilder builder();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An immutable copy of currently registered recipes.
|
* An immutable copy of currently registered recipes.
|
||||||
*
|
*
|
||||||
@@ -73,25 +65,29 @@ public interface IInscriberRegistry
|
|||||||
@Nonnull
|
@Nonnull
|
||||||
Set<ItemStack> getInputs();
|
Set<ItemStack> getInputs();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extensible way to create an inscriber recipe.
|
||||||
|
*
|
||||||
|
* @return builder for inscriber recipes
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder builder();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add a new recipe the easy way, duplicates will not be added.
|
* add a new recipe the easy way, duplicates will not be added.
|
||||||
* Added recipes will be automatically added to the optionals and inputs.
|
* Added recipes will be automatically added to the optionals and inputs.
|
||||||
*
|
*
|
||||||
* @param recipe new recipe
|
* @param recipe new recipe
|
||||||
*
|
*
|
||||||
* @return true, when successfully added
|
|
||||||
*
|
|
||||||
* @throws IllegalArgumentException if null is added
|
* @throws IllegalArgumentException if null is added
|
||||||
*/
|
*/
|
||||||
boolean addRecipe( IInscriberRecipe recipe );
|
void addRecipe( IInscriberRecipe recipe );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes all equal recipes from the registry.
|
* Removes all equal recipes from the registry.
|
||||||
*
|
*
|
||||||
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense.
|
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense.
|
||||||
*
|
|
||||||
* @return true, when successfully removed
|
|
||||||
*/
|
*/
|
||||||
boolean removeRecipe( IInscriberRecipe toBeRemovedRecipe );
|
void removeRecipe( IInscriberRecipe toBeRemovedRecipe );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,11 +24,9 @@
|
|||||||
package appeng.api.features;
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.common.capabilities.Capability;
|
|
||||||
|
|
||||||
import appeng.api.config.TunnelType;
|
import appeng.api.config.TunnelType;
|
||||||
|
|
||||||
@@ -46,11 +44,7 @@ public interface IP2PTunnelRegistry
|
|||||||
* @param trigger - the item which triggers attunement. Nullable, but then ignored
|
* @param trigger - the item which triggers attunement. Nullable, but then ignored
|
||||||
* @param type - the type of tunnel. Nullable, but then ignored
|
* @param type - the type of tunnel. Nullable, but then ignored
|
||||||
*/
|
*/
|
||||||
void addNewAttunement( @Nonnull ItemStack trigger, @Nullable TunnelType type );
|
void addNewAttunement( @Nullable ItemStack trigger, @Nullable TunnelType type );
|
||||||
|
|
||||||
void addNewAttunement( @Nonnull String ModId, @Nullable TunnelType type );
|
|
||||||
|
|
||||||
void addNewAttunement( @Nonnull Capability<?> cap, @Nullable TunnelType type );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns null if no attunement can be found.
|
* returns null if no attunement can be found.
|
||||||
@@ -59,6 +53,6 @@ public interface IP2PTunnelRegistry
|
|||||||
*
|
*
|
||||||
* @return null if no attunement can be found or attunement
|
* @return null if no attunement can be found or attunement
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
@Nullable
|
||||||
TunnelType getTunnelTypeByItem( ItemStack trigger );
|
TunnelType getTunnelTypeByItem( ItemStack trigger );
|
||||||
}
|
}
|
||||||
@@ -48,7 +48,6 @@ public interface IRecipeHandlerRegistry
|
|||||||
* @param name name of crafthandler
|
* @param name name of crafthandler
|
||||||
* @param handler class of crafthandler
|
* @param handler class of crafthandler
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
void addNewCraftHandler( String name, Class<? extends ICraftHandler> handler );
|
void addNewCraftHandler( String name, Class<? extends ICraftHandler> handler );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -66,13 +65,11 @@ public interface IRecipeHandlerRegistry
|
|||||||
* @return A recipe handler by name, returns null on failure.
|
* @return A recipe handler by name, returns null on failure.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
@Deprecated
|
|
||||||
ICraftHandler getCraftHandlerFor( String name );
|
ICraftHandler getCraftHandlerFor( String name );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return a new recipe handler, which can be used to parse, and read recipe files.
|
* @return a new recipe handler, which can be used to parse, and read recipe files.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
IRecipeHandler createNewRecipehandler();
|
IRecipeHandler createNewRecipehandler();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -34,8 +34,7 @@ import appeng.api.storage.ICellRegistry;
|
|||||||
/**
|
/**
|
||||||
* @author AlgorithmX2
|
* @author AlgorithmX2
|
||||||
* @author thatsIch
|
* @author thatsIch
|
||||||
* @author yueh
|
* @version rv2
|
||||||
* @version rv5
|
|
||||||
* @since rv0
|
* @since rv0
|
||||||
*/
|
*/
|
||||||
@AEInjectable
|
@AEInjectable
|
||||||
@@ -77,11 +76,6 @@ public interface IRegistryContainer
|
|||||||
*/
|
*/
|
||||||
IInscriberRegistry inscriber();
|
IInscriberRegistry inscriber();
|
||||||
|
|
||||||
/**
|
|
||||||
* Manage charger via API
|
|
||||||
*/
|
|
||||||
IChargerRegistry charger();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get access to the locatable registry
|
* get access to the locatable registry
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -28,16 +28,17 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import appeng.api.util.IConfigManager;
|
import appeng.api.util.IConfigManager;
|
||||||
import net.minecraftforge.fml.common.network.IGuiHandler;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A handler for a wireless terminal.
|
* A handler for a wireless terminal.
|
||||||
*/
|
*/
|
||||||
public interface IWirelessTermHandler extends INetworkEncodable {
|
public interface IWirelessTermHandler extends INetworkEncodable
|
||||||
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param is wireless terminal
|
* @param is wireless terminal
|
||||||
|
*
|
||||||
* @return true, if usePower, hasPower, etc... can be called for the provided item
|
* @return true, if usePower, hasPower, etc... can be called for the provided item
|
||||||
*/
|
*/
|
||||||
boolean canHandle( ItemStack is );
|
boolean canHandle( ItemStack is );
|
||||||
@@ -48,6 +49,7 @@ public interface IWirelessTermHandler extends INetworkEncodable {
|
|||||||
* @param amount is in AE units ( 5 per MJ ), if you return false, the item should be dead and return false for
|
* @param amount is in AE units ( 5 per MJ ), if you return false, the item should be dead and return false for
|
||||||
* hasPower
|
* hasPower
|
||||||
* @param is wireless terminal
|
* @param is wireless terminal
|
||||||
|
*
|
||||||
* @return true if wireless terminal uses power
|
* @return true if wireless terminal uses power
|
||||||
*/
|
*/
|
||||||
boolean usePower( EntityPlayer player, double amount, ItemStack is );
|
boolean usePower( EntityPlayer player, double amount, ItemStack is );
|
||||||
@@ -56,6 +58,7 @@ public interface IWirelessTermHandler extends INetworkEncodable {
|
|||||||
* gets the power status of the item.
|
* gets the power status of the item.
|
||||||
*
|
*
|
||||||
* @param is wireless terminal
|
* @param is wireless terminal
|
||||||
|
*
|
||||||
* @return returns true if there is any power left.
|
* @return returns true if there is any power left.
|
||||||
*/
|
*/
|
||||||
boolean hasPower( EntityPlayer player, double amount, ItemStack is );
|
boolean hasPower( EntityPlayer player, double amount, ItemStack is );
|
||||||
@@ -64,9 +67,8 @@ public interface IWirelessTermHandler extends INetworkEncodable {
|
|||||||
* Return the config manager for the wireless terminal.
|
* Return the config manager for the wireless terminal.
|
||||||
*
|
*
|
||||||
* @param is wireless terminal
|
* @param is wireless terminal
|
||||||
|
*
|
||||||
* @return config manager of wireless terminal
|
* @return config manager of wireless terminal
|
||||||
*/
|
*/
|
||||||
IConfigManager getConfigManager( ItemStack is );
|
IConfigManager getConfigManager( ItemStack is );
|
||||||
|
|
||||||
IGuiHandler getGuiHandler(ItemStack is);
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package appeng.api.implementations;
|
|
||||||
|
|
||||||
public interface IUpgradeableCellContainer {
|
|
||||||
int availableUpgrades();
|
|
||||||
|
|
||||||
void setupUpgrades();
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
/*
|
|
||||||
* The MIT License (MIT)
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 AlgorithmX2
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
* this software and associated documentation files (the "Software"), to deal in
|
|
||||||
* the Software without restriction, including without limitation the rights to
|
|
||||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
* subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package appeng.api.implementations;
|
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.config.Upgrades;
|
|
||||||
import appeng.api.implementations.tiles.ISegmentedInventory;
|
|
||||||
import appeng.api.util.IConfigurableObject;
|
|
||||||
|
|
||||||
|
|
||||||
public interface IUpgradeableCellHost extends IConfigurableObject, ISegmentedInventory {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* determine how many of an upgrade are installed.
|
|
||||||
*/
|
|
||||||
default int getInstalledUpgrades(Upgrades u) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
package appeng.api.implementations.guiobjects;
|
package appeng.api.implementations.guiobjects;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraft.inventory.IInventory;
|
||||||
|
|
||||||
import appeng.api.networking.IGridHost;
|
import appeng.api.networking.IGridHost;
|
||||||
|
|
||||||
@@ -32,9 +32,8 @@ import appeng.api.networking.IGridHost;
|
|||||||
/**
|
/**
|
||||||
* Obtained via {@link IGuiItem} getGuiObject
|
* Obtained via {@link IGuiItem} getGuiObject
|
||||||
*/
|
*/
|
||||||
public interface INetworkTool extends IGuiItemObject
|
public interface INetworkTool extends IInventory, IGuiItemObject
|
||||||
{
|
{
|
||||||
IGridHost getGridHost(); // null for most purposes.
|
|
||||||
|
|
||||||
IItemHandler getInventory();
|
IGridHost getGridHost(); // null for most purposes.
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ package appeng.api.implementations.items;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import appeng.api.config.AccessRestriction;
|
import appeng.api.config.AccessRestriction;
|
||||||
import appeng.api.config.Actionable;
|
|
||||||
import appeng.api.networking.energy.IAEPowerStorage;
|
import appeng.api.networking.energy.IAEPowerStorage;
|
||||||
|
|
||||||
|
|
||||||
@@ -43,27 +42,27 @@ public interface IAEItemPowerStorage
|
|||||||
*
|
*
|
||||||
* @return amount unable to be stored
|
* @return amount unable to be stored
|
||||||
*/
|
*/
|
||||||
double injectAEPower( ItemStack stack, double amount, Actionable mode );
|
double injectAEPower( ItemStack is, double amt );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Attempt to extract power from the device, it will extract what it can and
|
* Attempt to extract power from the device, it will extract what it can and
|
||||||
* return it.
|
* return it.
|
||||||
*
|
*
|
||||||
* @param amount to be extracted power from device
|
* @param amt to be extracted power from device
|
||||||
*
|
*
|
||||||
* @return what it could extract
|
* @return what it could extract
|
||||||
*/
|
*/
|
||||||
double extractAEPower( ItemStack stack, double amount, Actionable mode );
|
double extractAEPower( ItemStack is, double amt );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the current maximum power ( this can change :P )
|
* @return the current maximum power ( this can change :P )
|
||||||
*/
|
*/
|
||||||
double getAEMaxPower( ItemStack stack );
|
double getAEMaxPower( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the current AE Power Level, this may exceed getMEMaxPower()
|
* @return the current AE Power Level, this may exceed getMEMaxPower()
|
||||||
*/
|
*/
|
||||||
double getAECurrentPower( ItemStack stack );
|
double getAECurrentPower( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Control the power flow by telling what the network can do, either add? or
|
* Control the power flow by telling what the network can do, either add? or
|
||||||
@@ -71,5 +70,5 @@ public interface IAEItemPowerStorage
|
|||||||
*
|
*
|
||||||
* @return access restriction of network
|
* @return access restriction of network
|
||||||
*/
|
*/
|
||||||
AccessRestriction getPowerFlow( ItemStack stack );
|
AccessRestriction getPowerFlow( ItemStack is );
|
||||||
}
|
}
|
||||||
@@ -28,8 +28,6 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
|
||||||
import appeng.api.util.AEColor;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Memory Card API
|
* Memory Card API
|
||||||
@@ -43,18 +41,13 @@ public interface IMemoryCard
|
|||||||
* Configures the data stored on the memory card, the SettingsName, will be
|
* Configures the data stored on the memory card, the SettingsName, will be
|
||||||
* localized when displayed.
|
* localized when displayed.
|
||||||
*
|
*
|
||||||
* The data can contain an optional string with the key "tooltip", which will be used as
|
|
||||||
* unlocalized string to display it after the settings name.
|
|
||||||
*
|
|
||||||
* The data can contain an optional intArray using "colorCode" to be displayed on the model itself.
|
|
||||||
* It needs to have exactly 8 elements representing the ordinal of the matching {@link AEColor}.
|
|
||||||
* The first 4 values represent the top row, left to right. The second 4 the bottom row.
|
|
||||||
*
|
|
||||||
* @param is item
|
* @param is item
|
||||||
* @param settingsName unlocalized string that represents the tile entity.
|
* @param SettingsName unlocalized string that represents the tile entity.
|
||||||
* @param data the NBT tag, refer to the normal comment for special keys.
|
* @param data may contain a String called "tooltip" which is is a
|
||||||
|
* unlocalized string displayed after the settings name, optional
|
||||||
|
* but can be used to add details to the card for later.
|
||||||
*/
|
*/
|
||||||
void setMemoryCardContents( ItemStack is, String settingsName, NBTTagCompound data );
|
void setMemoryCardContents( ItemStack is, String SettingsName, NBTTagCompound data );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns the settings name provided by a previous call to
|
* returns the settings name provided by a previous call to
|
||||||
@@ -75,17 +68,6 @@ public interface IMemoryCard
|
|||||||
*/
|
*/
|
||||||
NBTTagCompound getData( ItemStack is );
|
NBTTagCompound getData( ItemStack is );
|
||||||
|
|
||||||
/**
|
|
||||||
* This represent as 4x2 grid of {@link AEColor} without transparent/fluix color.
|
|
||||||
*
|
|
||||||
* First 4 colors are used for the top row, second for the bottom one.
|
|
||||||
*
|
|
||||||
* @param is item
|
|
||||||
*
|
|
||||||
* @return a hash representation of the memory card content
|
|
||||||
*/
|
|
||||||
AEColor[] getColorCode( ItemStack is );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* notify the user of a outcome related to the memory card.
|
* notify the user of a outcome related to the memory card.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import appeng.api.implementations.TransitionResult;
|
import appeng.api.implementations.TransitionResult;
|
||||||
import appeng.api.storage.ISpatialDimension;
|
|
||||||
import appeng.api.util.WorldCoord;
|
import appeng.api.util.WorldCoord;
|
||||||
|
|
||||||
|
|
||||||
@@ -58,7 +57,7 @@ public interface ISpatialStorageCell
|
|||||||
*
|
*
|
||||||
* @return the world for this cell
|
* @return the world for this cell
|
||||||
*/
|
*/
|
||||||
ISpatialDimension getSpatialDimension();
|
World getWorld( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the currently stored size.
|
* get the currently stored size.
|
||||||
@@ -70,13 +69,22 @@ public interface ISpatialStorageCell
|
|||||||
WorldCoord getStoredSize( ItemStack is );
|
WorldCoord getStoredSize( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the currently stored Dimension id.
|
* Minimum coordinates in its world for the storage cell.
|
||||||
*
|
*
|
||||||
* @param is spatial storage cell
|
* @param is spatial storage cell
|
||||||
*
|
*
|
||||||
* @return dimension id or -1
|
* @return minimum coordinate of dimension
|
||||||
*/
|
*/
|
||||||
int getStoredDimensionID( ItemStack is );
|
WorldCoord getMin( ItemStack is );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Maximum coordinates in its world for the storage cell.
|
||||||
|
*
|
||||||
|
* @param is spatial storage cell
|
||||||
|
*
|
||||||
|
* @return maximum coordinate of dimension
|
||||||
|
*/
|
||||||
|
WorldCoord getMax( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a spatial swap with the contents of the cell, and the world.
|
* Perform a spatial swap with the contents of the cell, and the world.
|
||||||
@@ -85,9 +93,9 @@ public interface ISpatialStorageCell
|
|||||||
* @param w world of spatial
|
* @param w world of spatial
|
||||||
* @param min min coord
|
* @param min min coord
|
||||||
* @param max max coord
|
* @param max max coord
|
||||||
* @param playerId owner of current grid or -1
|
* @param doTransition transition
|
||||||
*
|
*
|
||||||
* @return result of transition
|
* @return result of transition
|
||||||
*/
|
*/
|
||||||
TransitionResult doSpatialTransition( ItemStack is, World w, WorldCoord min, WorldCoord max, int playerId );
|
TransitionResult doSpatialTransition( ItemStack is, World w, WorldCoord min, WorldCoord max, boolean doTransition );
|
||||||
}
|
}
|
||||||
@@ -24,13 +24,10 @@
|
|||||||
package appeng.api.implementations.items;
|
package appeng.api.implementations.items;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import appeng.api.storage.ICellWorkbenchItem;
|
import appeng.api.storage.ICellWorkbenchItem;
|
||||||
import appeng.api.storage.IStorageChannel;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
import appeng.api.storage.data.IAEStack;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,7 +40,7 @@ import appeng.api.storage.data.IAEStack;
|
|||||||
*
|
*
|
||||||
* The standard AE implementation only provides 1-63 Types
|
* The standard AE implementation only provides 1-63 Types
|
||||||
*/
|
*/
|
||||||
public interface IStorageCell<T extends IAEStack<T>> extends ICellWorkbenchItem
|
public interface IStorageCell extends ICellWorkbenchItem
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,7 +51,7 @@ public interface IStorageCell<T extends IAEStack<T>> extends ICellWorkbenchItem
|
|||||||
*
|
*
|
||||||
* @return number of bytes
|
* @return number of bytes
|
||||||
*/
|
*/
|
||||||
int getBytes( @Nonnull ItemStack cellItem );
|
int getBytes( ItemStack cellItem );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines the number of bytes used for any type included on the cell.
|
* Determines the number of bytes used for any type included on the cell.
|
||||||
@@ -63,7 +60,7 @@ public interface IStorageCell<T extends IAEStack<T>> extends ICellWorkbenchItem
|
|||||||
*
|
*
|
||||||
* @return number of bytes
|
* @return number of bytes
|
||||||
*/
|
*/
|
||||||
int getBytesPerType( @Nonnull ItemStack cellItem );
|
int getBytesPerType( ItemStack cellItem );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Must be between 1 and 63, indicates how many types you want to store on
|
* Must be between 1 and 63, indicates how many types you want to store on
|
||||||
@@ -73,7 +70,7 @@ public interface IStorageCell<T extends IAEStack<T>> extends ICellWorkbenchItem
|
|||||||
*
|
*
|
||||||
* @return number of types
|
* @return number of types
|
||||||
*/
|
*/
|
||||||
int getTotalTypes( @Nonnull ItemStack cellItem );
|
int getTotalTypes( ItemStack cellItem );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows you to fine tune which items are allowed on a given cell, if you
|
* Allows you to fine tune which items are allowed on a given cell, if you
|
||||||
@@ -85,7 +82,7 @@ public interface IStorageCell<T extends IAEStack<T>> extends ICellWorkbenchItem
|
|||||||
*
|
*
|
||||||
* @return true to preventAdditionOfItem
|
* @return true to preventAdditionOfItem
|
||||||
*/
|
*/
|
||||||
boolean isBlackListed( @Nonnull ItemStack cellItem, @Nonnull T requestedAddition );
|
boolean isBlackListed( ItemStack cellItem, IAEItemStack requestedAddition );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows you to specify if this storage cell can be stored inside other
|
* Allows you to specify if this storage cell can be stored inside other
|
||||||
@@ -106,16 +103,10 @@ public interface IStorageCell<T extends IAEStack<T>> extends ICellWorkbenchItem
|
|||||||
*
|
*
|
||||||
* @return if the ItemStack should behavior as a storage cell.
|
* @return if the ItemStack should behavior as a storage cell.
|
||||||
*/
|
*/
|
||||||
boolean isStorageCell( @Nonnull ItemStack i );
|
boolean isStorageCell( ItemStack i );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return drain in ae/t this storage cell will use.
|
* @return drain in ae/t this storage cell will use.
|
||||||
*/
|
*/
|
||||||
double getIdleDrain();
|
double getIdleDrain();
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the type of channel your cell should be part of
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IStorageChannel<T> getChannel();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,5 +29,5 @@ package appeng.api.implementations.items;
|
|||||||
*/
|
*/
|
||||||
public enum MemoryCardMessages
|
public enum MemoryCardMessages
|
||||||
{
|
{
|
||||||
INVALID_MACHINE, SETTINGS_LOADED, SETTINGS_SAVED, SETTINGS_RESET, SETTINGS_CLEARED
|
INVALID_MACHINE, SETTINGS_LOADED, SETTINGS_SAVED, SETTINGS_CLEARED
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
package appeng.api.implementations.tiles;
|
package appeng.api.implementations.tiles;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraft.inventory.IInventory;
|
||||||
|
|
||||||
|
|
||||||
public interface ISegmentedInventory
|
public interface ISegmentedInventory
|
||||||
@@ -38,5 +38,5 @@ public interface ISegmentedInventory
|
|||||||
*
|
*
|
||||||
* @return inventory with inventory name
|
* @return inventory with inventory name
|
||||||
*/
|
*/
|
||||||
IItemHandler getInventoryByName( String name );
|
IInventory getInventoryByName( String name );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
package appeng.api.implementations.tiles;
|
package appeng.api.implementations.tiles;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraft.inventory.IInventory;
|
||||||
|
|
||||||
|
|
||||||
public interface IViewCellStorage
|
public interface IViewCellStorage
|
||||||
@@ -35,5 +35,5 @@ public interface IViewCellStorage
|
|||||||
*
|
*
|
||||||
* @return inventory with at least 5 slot
|
* @return inventory with at least 5 slot
|
||||||
*/
|
*/
|
||||||
IItemHandler getViewCellStorage();
|
IInventory getViewCellStorage();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.networking.events.MENetworkEvent;
|
import appeng.api.networking.events.MENetworkEvent;
|
||||||
import appeng.api.util.IReadOnlyCollection;
|
import appeng.api.util.IReadOnlyCollection;
|
||||||
|
|
||||||
@@ -45,8 +43,7 @@ public interface IGrid
|
|||||||
*
|
*
|
||||||
* @return the IGridCache you requested.
|
* @return the IGridCache you requested.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
<C extends IGridCache> C getCache( Class<? extends IGridCache> iface );
|
||||||
<C extends IGridCache> C getCache( @Nonnull Class<? extends IGridCache> iface );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Post an event into the network event bus.
|
* Post an event into the network event bus.
|
||||||
@@ -55,8 +52,7 @@ public interface IGrid
|
|||||||
*
|
*
|
||||||
* @return returns ev back to original poster
|
* @return returns ev back to original poster
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
MENetworkEvent postEvent( MENetworkEvent ev );
|
||||||
MENetworkEvent postEvent( @Nonnull MENetworkEvent ev );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Post an event into the network event bus, but direct it at a single node.
|
* Post an event into the network event bus, but direct it at a single node.
|
||||||
@@ -65,8 +61,7 @@ public interface IGrid
|
|||||||
*
|
*
|
||||||
* @return returns ev back to original poster
|
* @return returns ev back to original poster
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
MENetworkEvent postEventTo( IGridNode node, MENetworkEvent ev );
|
||||||
MENetworkEvent postEventTo( @Nonnull IGridNode node, @Nonnull MENetworkEvent ev );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get a list of the diversity of classes, you can use this to better detect which machines your interested in,
|
* get a list of the diversity of classes, you can use this to better detect which machines your interested in,
|
||||||
@@ -74,7 +69,6 @@ public interface IGrid
|
|||||||
*
|
*
|
||||||
* @return IReadOnlyCollection of all available host types (Of Type IGridHost).
|
* @return IReadOnlyCollection of all available host types (Of Type IGridHost).
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IReadOnlyCollection<Class<? extends IGridHost>> getMachinesClasses();
|
IReadOnlyCollection<Class<? extends IGridHost>> getMachinesClasses();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -84,13 +78,11 @@ public interface IGrid
|
|||||||
*
|
*
|
||||||
* @return IMachineSet of all nodes belonging to hosts of specified class.
|
* @return IMachineSet of all nodes belonging to hosts of specified class.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
IMachineSet getMachines( Class<? extends IGridHost> gridHostClass );
|
||||||
IMachineSet getMachines( @Nonnull Class<? extends IGridHost> gridHostClass );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return IReadOnlyCollection for all nodes on the network, node visitors are preferred.
|
* @return IReadOnlyCollection for all nodes on the network, node visitors are preferred.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IReadOnlyCollection<IGridNode> getNodes();
|
IReadOnlyCollection<IGridNode> getNodes();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -101,6 +93,5 @@ public interface IGrid
|
|||||||
/**
|
/**
|
||||||
* @return the node considered the pivot point of the grid.
|
* @return the node considered the pivot point of the grid.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridNode getPivot();
|
IGridNode getPivot();
|
||||||
}
|
}
|
||||||
@@ -26,9 +26,6 @@ package appeng.api.networking;
|
|||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
|
|
||||||
@@ -52,7 +49,6 @@ public interface IGridBlock
|
|||||||
*
|
*
|
||||||
* @return ae/t to use.
|
* @return ae/t to use.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
|
||||||
double getIdlePowerUsage();
|
double getIdlePowerUsage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -60,11 +56,10 @@ public interface IGridBlock
|
|||||||
*
|
*
|
||||||
* @return Set of flags for this IGridBlock
|
* @return Set of flags for this IGridBlock
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
EnumSet<GridFlags> getFlags();
|
EnumSet<GridFlags> getFlags();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generally speaking you will return true for this, the one exception is buses, or worm holes where the node
|
* generally speaking you will return true for this, the one exception is buses, or worm holes where the node
|
||||||
* represents something that isn't a real connection in the world, but rather one represented internally to the
|
* represents something that isn't a real connection in the world, but rather one represented internally to the
|
||||||
* block.
|
* block.
|
||||||
*
|
*
|
||||||
@@ -73,46 +68,37 @@ public interface IGridBlock
|
|||||||
boolean isWorldAccessible();
|
boolean isWorldAccessible();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Must not return when {@link #isWorldAccessible()} is true.
|
|
||||||
* Otherwise the behavior is unspecified.
|
|
||||||
*
|
|
||||||
* @return current location of this node
|
* @return current location of this node
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
DimensionalCoord getLocation();
|
DimensionalCoord getLocation();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Transparent, or a valid color, NULL IS NOT A VALID RETURN
|
* @return Transparent, or a valid color, NULL IS NOT A VALID RETURN
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
AEColor getGridColor();
|
AEColor getGridColor();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notifies your IGridBlock that changes were made to your connections
|
* Notifies your IGridBlock that changes were made to your connections
|
||||||
*/
|
*/
|
||||||
void onGridNotification( @Nonnull GridNotification notification );
|
void onGridNotification( GridNotification notification );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update Blocks network/connection/booting status. grid,
|
* Update Blocks network/connection/booting status. grid,
|
||||||
*
|
*
|
||||||
* @param grid grid
|
* @param grid grid
|
||||||
* @param channelsInUse used channels
|
* @param channelsInUse used channels
|
||||||
* @deprecated to be removed in rv7
|
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
void setNetworkStatus( IGrid grid, int channelsInUse );
|
void setNetworkStatus( IGrid grid, int channelsInUse );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine which sides of the block can be connected too, only used when isWorldAccessible returns true, not used
|
* Determine which sides of the block can be connected too, only used when isWorldAccessible returns true, not used
|
||||||
* for {@link IPart} implementations.
|
* for {@link IPart} implementations.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
EnumSet<EnumFacing> getConnectableSides();
|
EnumSet<EnumFacing> getConnectableSides();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the IGridHost for the node, this will be an IGridPart or a TileEntity generally speaking.
|
* @return the IGridHost for the node, this will be an IGridPart or a TileEntity generally speaking.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridHost getMachine();
|
IGridHost getMachine();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -123,8 +109,7 @@ public interface IGridBlock
|
|||||||
/**
|
/**
|
||||||
* Determines what item stack is used to render this node in the GUI.
|
* Determines what item stack is used to render this node in the GUI.
|
||||||
*
|
*
|
||||||
* @return the render item stack to use to render this node. Returning an empty ItemStack will not show this node.
|
* @return the render item stack to use to render this node, null is valid, and will not show this node.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
ItemStack getMachineRepresentation();
|
ItemStack getMachineRepresentation();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows you to create a network wise service, AE2 uses these for providing
|
* Allows you to create a network wise service, AE2 uses these for providing
|
||||||
* item, spatial, and tunnel services.
|
* item, spatial, and tunnel services.
|
||||||
@@ -53,7 +50,7 @@ public interface IGridCache
|
|||||||
* @param gridNode removed from that grid
|
* @param gridNode removed from that grid
|
||||||
* @param machine to be removed machine
|
* @param machine to be removed machine
|
||||||
*/
|
*/
|
||||||
void removeNode( @Nonnull IGridNode gridNode, @Nonnull IGridHost machine );
|
void removeNode( IGridNode gridNode, IGridHost machine );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* informs you cache that a machine was added to the grid.
|
* informs you cache that a machine was added to the grid.
|
||||||
@@ -65,7 +62,7 @@ public interface IGridCache
|
|||||||
* @param gridNode added to grid node
|
* @param gridNode added to grid node
|
||||||
* @param machine to be added machine
|
* @param machine to be added machine
|
||||||
*/
|
*/
|
||||||
void addNode( @Nonnull IGridNode gridNode, @Nonnull IGridHost machine );
|
void addNode( IGridNode gridNode, IGridHost machine );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a grid splits into two grids, AE will call a split as it
|
* Called when a grid splits into two grids, AE will call a split as it
|
||||||
@@ -74,7 +71,7 @@ public interface IGridCache
|
|||||||
*
|
*
|
||||||
* @param destinationStorage storage which receives half of old grid
|
* @param destinationStorage storage which receives half of old grid
|
||||||
*/
|
*/
|
||||||
void onSplit( @Nonnull IGridStorage destinationStorage );
|
void onSplit( IGridStorage destinationStorage );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when two grids merge into one, AE will call a join as it
|
* Called when two grids merge into one, AE will call a join as it
|
||||||
@@ -83,12 +80,12 @@ public interface IGridCache
|
|||||||
*
|
*
|
||||||
* @param sourceStorage old storage
|
* @param sourceStorage old storage
|
||||||
*/
|
*/
|
||||||
void onJoin( @Nonnull IGridStorage sourceStorage );
|
void onJoin( IGridStorage sourceStorage );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when saving changes,
|
* Called when saving changes,
|
||||||
*
|
*
|
||||||
* @param destinationStorage storage
|
* @param destinationStorage storage
|
||||||
*/
|
*/
|
||||||
void populateGridStorage( @Nonnull IGridStorage destinationStorage );
|
void populateGridStorage( IGridStorage destinationStorage );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,7 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,14 +38,14 @@ public interface IGridCacheRegistry
|
|||||||
*
|
*
|
||||||
* @param iface grid cache class
|
* @param iface grid cache class
|
||||||
*/
|
*/
|
||||||
void registerGridCache( @Nonnull Class<? extends IGridCache> iface, @Nonnull Class<? extends IGridCache> implementation );
|
void registerGridCache( Class<? extends IGridCache> iface, Class<? extends IGridCache> implementation );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* requests a new INSTANCE of a grid cache for use, used internally
|
* requests a new INSTANCE of a grid cache for use, used internally
|
||||||
*
|
*
|
||||||
* @param grid grid
|
* @param grid grid
|
||||||
*
|
*
|
||||||
* @return a new Map of IGridCaches from the registry, called from IGrid when constructing a new grid.
|
* @return a new HashMap of IGridCaches from the registry, called from IGrid when constructing a new grid.
|
||||||
*/
|
*/
|
||||||
Map<Class<? extends IGridCache>, IGridCache> createCacheInstance( IGrid grid );
|
HashMap<Class<? extends IGridCache>, IGridCache> createCacheInstance( IGrid grid );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.util.AEPartLocation;
|
import appeng.api.util.AEPartLocation;
|
||||||
|
|
||||||
|
|
||||||
@@ -47,7 +45,6 @@ public interface IGridConnection
|
|||||||
*
|
*
|
||||||
* @return the IGridNode which represents the opposite side of the connection.
|
* @return the IGridNode which represents the opposite side of the connection.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridNode getOtherSide( IGridNode gridNode );
|
IGridNode getOtherSide( IGridNode gridNode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,7 +54,6 @@ public interface IGridConnection
|
|||||||
*
|
*
|
||||||
* @return the direction of the connection, only valid for in world connections.
|
* @return the direction of the connection, only valid for in world connections.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
AEPartLocation getDirection( IGridNode gridNode );
|
AEPartLocation getDirection( IGridNode gridNode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -69,13 +65,11 @@ public interface IGridConnection
|
|||||||
/**
|
/**
|
||||||
* @return node A
|
* @return node A
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridNode a();
|
IGridNode a();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return node B
|
* @return node B
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridNode b();
|
IGridNode b();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
|
||||||
public interface IGridConnectionVisitor extends IGridVisitor
|
public interface IGridConnectionVisitor extends IGridVisitor
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -35,5 +32,5 @@ public interface IGridConnectionVisitor extends IGridVisitor
|
|||||||
*
|
*
|
||||||
* @param n the connection.
|
* @param n the connection.
|
||||||
*/
|
*/
|
||||||
void visitConnection( @Nonnull IGridConnection n );
|
void visitConnection( IGridConnection n );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
/*
|
|
||||||
* The MIT License (MIT)
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 AlgorithmX2
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
* this software and associated documentation files (the "Software"), to deal in
|
|
||||||
* the Software without restriction, including without limitation the rights to
|
|
||||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
* subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package appeng.api.networking;
|
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.exceptions.FailedConnectionException;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A helper responsible for creating new {@link IGridNode}, {@link IGridConnection} or potentially similar tasks.
|
|
||||||
*
|
|
||||||
* @author yueh
|
|
||||||
* @version rv5
|
|
||||||
* @since rv5
|
|
||||||
*/
|
|
||||||
public interface IGridHelper
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a grid node for your {@link IGridHost}
|
|
||||||
*
|
|
||||||
* The passed {@link IGridBlock} represents the definition for properties like connectable sides.
|
|
||||||
* Refer to its documentation for further details.
|
|
||||||
*
|
|
||||||
* @param block grid block
|
|
||||||
*
|
|
||||||
* @return grid node of block
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGridNode createGridNode( @Nonnull IGridBlock block );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a direct connection between two {@link IGridNode}.
|
|
||||||
*
|
|
||||||
* This will be considered as having a distance of 1, regardless of the location of both nodes.
|
|
||||||
*
|
|
||||||
* @param a to be connected gridnode
|
|
||||||
* @param b to be connected gridnode
|
|
||||||
*
|
|
||||||
* @throws appeng.api.exceptions.FailedConnectionException
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
IGridConnection createGridConnection( @Nonnull IGridNode a, @Nonnull IGridNode b ) throws FailedConnectionException;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
import appeng.api.parts.IPart;
|
import appeng.api.parts.IPart;
|
||||||
@@ -52,8 +49,7 @@ public interface IGridHost
|
|||||||
* @return a new IGridNode, create these with
|
* @return a new IGridNode, create these with
|
||||||
* AEApi.INSTANCE().createGridNode( MyIGridBlock )
|
* AEApi.INSTANCE().createGridNode( MyIGridBlock )
|
||||||
*/
|
*/
|
||||||
@Nullable
|
IGridNode getGridNode( AEPartLocation dir );
|
||||||
IGridNode getGridNode( @Nonnull AEPartLocation dir );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines how cables render when they connect to this block. Priority is
|
* Determines how cables render when they connect to this block. Priority is
|
||||||
@@ -61,8 +57,7 @@ public interface IGridHost
|
|||||||
*
|
*
|
||||||
* @param dir direction
|
* @param dir direction
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
AECableType getCableConnectionType( AEPartLocation dir );
|
||||||
AECableType getCableConnectionType( @Nonnull AEPartLocation dir );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* break this host, its violating security rules, just break your block, or part.
|
* break this host, its violating security rules, just break your block, or part.
|
||||||
|
|||||||
@@ -26,8 +26,6 @@ package appeng.api.networking;
|
|||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An extension of IGridBlock, only means something when your getFlags() contains REQUIRE_CHANNEL, when done properly it
|
* An extension of IGridBlock, only means something when your getFlags() contains REQUIRE_CHANNEL, when done properly it
|
||||||
@@ -42,6 +40,5 @@ public interface IGridMultiblock extends IGridBlock
|
|||||||
*
|
*
|
||||||
* @return an iterator that will iterate all the nodes for the multiblock. ( read-only iterator expected. )
|
* @return an iterator that will iterate all the nodes for the multiblock. ( read-only iterator expected. )
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
Iterator<IGridNode> getMultiblockNodes();
|
Iterator<IGridNode> getMultiblockNodes();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,8 +26,6 @@ package appeng.api.networking;
|
|||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@@ -52,7 +50,7 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* @param visitor visitor
|
* @param visitor visitor
|
||||||
*/
|
*/
|
||||||
void beginVisit( @Nonnull IGridVisitor visitor );
|
void beginVisit( IGridVisitor visitor );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* inform the node that your IGridBlock has changed its internal state, and force the node to update.
|
* inform the node that your IGridBlock has changed its internal state, and force the node to update.
|
||||||
@@ -70,7 +68,6 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* @return grid host
|
* @return grid host
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridHost getMachine();
|
IGridHost getMachine();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -78,7 +75,6 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* @return grid
|
* @return grid
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGrid getGrid();
|
IGrid getGrid();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -90,13 +86,11 @@ public interface IGridNode
|
|||||||
/**
|
/**
|
||||||
* @return the world the node is located in
|
* @return the world the node is located in
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
World getWorld();
|
World getWorld();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return a set of the connected sides, INTERNAL represents an invisible connection
|
* @return a set of the connected sides, INTERNAL represents an invisible connection
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
EnumSet<AEPartLocation> getConnectedSides();
|
EnumSet<AEPartLocation> getConnectedSides();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -104,13 +98,11 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* @return grid connections
|
* @return grid connections
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IReadOnlyCollection<IGridConnection> getConnections();
|
IReadOnlyCollection<IGridConnection> getConnections();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the IGridBlock for this node
|
* @return the IGridBlock for this node
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridBlock getGridBlock();
|
IGridBlock getGridBlock();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -130,7 +122,7 @@ public interface IGridNode
|
|||||||
* @param name nbt name
|
* @param name nbt name
|
||||||
* @param nodeData to be loaded data
|
* @param nodeData to be loaded data
|
||||||
*/
|
*/
|
||||||
void loadFromNBT( @Nonnull String name, @Nonnull NBTTagCompound nodeData );
|
void loadFromNBT( String name, NBTTagCompound nodeData );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this should be called for each node you maintain, you can save all your nodes to the same tag with different
|
* this should be called for each node you maintain, you can save all your nodes to the same tag with different
|
||||||
@@ -139,7 +131,7 @@ public interface IGridNode
|
|||||||
* @param name nbt name
|
* @param name nbt name
|
||||||
* @param nodeData to be saved data
|
* @param nodeData to be saved data
|
||||||
*/
|
*/
|
||||||
void saveToNBT( @Nonnull String name, @Nonnull NBTTagCompound nodeData );
|
void saveToNBT( String name, NBTTagCompound nodeData );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return if the node's channel requirements are currently met, use this for display purposes, use isActive for
|
* @return if the node's channel requirements are currently met, use this for display purposes, use isActive for
|
||||||
@@ -154,7 +146,7 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* @return true if has flag
|
* @return true if has flag
|
||||||
*/
|
*/
|
||||||
boolean hasFlag( @Nonnull GridFlags flag );
|
boolean hasFlag( GridFlags flag );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the ownerID this represents the person who placed the node.
|
* @return the ownerID this represents the person who placed the node.
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
|
||||||
|
|
||||||
@@ -35,7 +33,6 @@ public interface IGridStorage
|
|||||||
/**
|
/**
|
||||||
* @return an NBTTagCompound that can be read, and written too.
|
* @return an NBTTagCompound that can be read, and written too.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
NBTTagCompound dataObject();
|
NBTTagCompound dataObject();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple Visitor pattern access to network nodes.
|
* Simple Visitor pattern access to network nodes.
|
||||||
*/
|
*/
|
||||||
@@ -42,5 +39,5 @@ public interface IGridVisitor
|
|||||||
*
|
*
|
||||||
* @return true to continue visiting nodes beyond this node.
|
* @return true to continue visiting nodes beyond this node.
|
||||||
*/
|
*/
|
||||||
boolean visitNode( @Nonnull IGridNode n );
|
boolean visitNode( IGridNode n );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.util.IReadOnlyCollection;
|
import appeng.api.util.IReadOnlyCollection;
|
||||||
|
|
||||||
|
|
||||||
@@ -35,6 +33,5 @@ public interface IMachineSet extends IReadOnlyCollection<IGridNode>
|
|||||||
/**
|
/**
|
||||||
* @return the machine class for this set.
|
* @return the machine class for this set.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
Class<? extends IGridHost> getMachineClass();
|
Class<? extends IGridHost> getMachineClass();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,12 +24,10 @@
|
|||||||
package appeng.api.networking.crafting;
|
package appeng.api.networking.crafting;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.security.IActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.networking.storage.IBaseMonitor;
|
import appeng.api.networking.storage.IBaseMonitor;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
|
|
||||||
public interface ICraftingCPU extends IBaseMonitor<IAEItemStack>
|
public interface ICraftingCPU extends IBaseMonitor<IAEItemStack>
|
||||||
{
|
{
|
||||||
@@ -42,7 +40,7 @@ public interface ICraftingCPU extends IBaseMonitor<IAEItemStack>
|
|||||||
/**
|
/**
|
||||||
* @return the action source for the CPU.
|
* @return the action source for the CPU.
|
||||||
*/
|
*/
|
||||||
IActionSource getActionSource();
|
BaseActionSource getActionSource();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the available storage in bytes
|
* @return the available storage in bytes
|
||||||
@@ -58,30 +56,4 @@ public interface ICraftingCPU extends IBaseMonitor<IAEItemStack>
|
|||||||
* @return an empty string or the name of the cpu.
|
* @return an empty string or the name of the cpu.
|
||||||
*/
|
*/
|
||||||
String getName();
|
String getName();
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return final output of the current crafting operation, or null if not crafting
|
|
||||||
*/
|
|
||||||
@Nullable
|
|
||||||
default IAEItemStack getFinalOutput()
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return remaining count of items (or other units of processing) for the current crafting job
|
|
||||||
*/
|
|
||||||
default long getRemainingItemCount()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return total count of items (or other units of processing) for the current crafting job
|
|
||||||
*/
|
|
||||||
default long getStartItemCount()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking.crafting;
|
package appeng.api.networking.crafting;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
|
||||||
public interface ICraftingCallback
|
public interface ICraftingCallback
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -35,5 +32,5 @@ public interface ICraftingCallback
|
|||||||
*
|
*
|
||||||
* @param job - final job
|
* @param job - final job
|
||||||
*/
|
*/
|
||||||
void calculationComplete( @Nonnull ICraftingJob job );
|
void calculationComplete( ICraftingJob job );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import net.minecraft.world.World;
|
|||||||
|
|
||||||
import appeng.api.networking.IGrid;
|
import appeng.api.networking.IGrid;
|
||||||
import appeng.api.networking.IGridCache;
|
import appeng.api.networking.IGridCache;
|
||||||
import appeng.api.networking.security.IActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
|
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ public interface ICraftingGrid extends IGridCache
|
|||||||
* @return a future which will at an undetermined point in the future get you the {@link ICraftingJob} do not wait
|
* @return a future which will at an undetermined point in the future get you the {@link ICraftingJob} do not wait
|
||||||
* on this, your be waiting forever.
|
* on this, your be waiting forever.
|
||||||
*/
|
*/
|
||||||
Future<ICraftingJob> beginCraftingJob( World world, IGrid grid, IActionSource actionSrc, IAEItemStack craftWhat, ICraftingCallback callback );
|
Future<ICraftingJob> beginCraftingJob( World world, IGrid grid, BaseActionSource actionSrc, IAEItemStack craftWhat, ICraftingCallback callback );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submit the job to the Crafting system for processing.
|
* Submit the job to the Crafting system for processing.
|
||||||
@@ -82,7 +82,7 @@ public interface ICraftingGrid extends IGridCache
|
|||||||
* {@link ICraftingRequester} methods. if you send null, this object should be discarded after verifying the
|
* {@link ICraftingRequester} methods. if you send null, this object should be discarded after verifying the
|
||||||
* return state.
|
* return state.
|
||||||
*/
|
*/
|
||||||
ICraftingLink submitJob( ICraftingJob job, ICraftingRequester requestingMachine, ICraftingCPU target, boolean prioritizePower, IActionSource src );
|
ICraftingLink submitJob( ICraftingJob job, ICraftingRequester requestingMachine, ICraftingCPU target, boolean prioritizePower, BaseActionSource src );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return list of all the crafting cpus on the grid
|
* @return list of all the crafting cpus on the grid
|
||||||
@@ -99,18 +99,9 @@ public interface ICraftingGrid extends IGridCache
|
|||||||
/**
|
/**
|
||||||
* is this item being crafted?
|
* is this item being crafted?
|
||||||
*
|
*
|
||||||
* @param what item being crafted
|
* @param aeStackInSlot item being crafted
|
||||||
*
|
*
|
||||||
* @return true if it is being crafting
|
* @return true if it is being crafting
|
||||||
*/
|
*/
|
||||||
boolean isRequesting( IAEItemStack what );
|
boolean isRequesting( IAEItemStack aeStackInSlot );
|
||||||
|
|
||||||
/**
|
|
||||||
* The total amount being requested across all crafting cpus of a grid.
|
|
||||||
*
|
|
||||||
* @param what item being requested, ignores stacksize
|
|
||||||
*
|
|
||||||
* @return The total amount being requested.
|
|
||||||
*/
|
|
||||||
long requesting( IAEItemStack what );
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,9 +31,6 @@ import net.minecraft.world.World;
|
|||||||
import appeng.api.implementations.ICraftingPatternItem;
|
import appeng.api.implementations.ICraftingPatternItem;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* do not implement provided by {@link ICraftingPatternItem}
|
* do not implement provided by {@link ICraftingPatternItem}
|
||||||
@@ -87,11 +84,6 @@ public interface ICraftingPatternDetails
|
|||||||
*/
|
*/
|
||||||
boolean canSubstitute();
|
boolean canSubstitute();
|
||||||
|
|
||||||
default List<IAEItemStack> getSubstituteInputs( int slot )
|
|
||||||
{
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allow using this INSTANCE of the pattern details to preform the crafting action with performance enhancements.
|
* Allow using this INSTANCE of the pattern details to preform the crafting action with performance enhancements.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.config.AccessRestriction;
|
import appeng.api.config.AccessRestriction;
|
||||||
import appeng.api.config.Actionable;
|
import appeng.api.config.Actionable;
|
||||||
|
|
||||||
@@ -44,7 +42,7 @@ public interface IAEPowerStorage extends IEnergySource
|
|||||||
*
|
*
|
||||||
* @return amount of power which was unable to be stored
|
* @return amount of power which was unable to be stored
|
||||||
*/
|
*/
|
||||||
double injectAEPower( double amt, @Nonnull Actionable mode );
|
double injectAEPower( double amt, Actionable mode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the current maximum power ( this can change :P )
|
* @return the current maximum power ( this can change :P )
|
||||||
@@ -69,6 +67,5 @@ public interface IAEPowerStorage extends IEnergySource
|
|||||||
*
|
*
|
||||||
* @return access restriction what the network can do
|
* @return access restriction what the network can do
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
AccessRestriction getPowerFlow();
|
AccessRestriction getPowerFlow();
|
||||||
}
|
}
|
||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.config.Actionable;
|
import appeng.api.config.Actionable;
|
||||||
import appeng.api.networking.IGridCache;
|
import appeng.api.networking.IGridCache;
|
||||||
import appeng.api.networking.events.MENetworkPowerStatusChange;
|
import appeng.api.networking.events.MENetworkPowerStatusChange;
|
||||||
@@ -41,20 +38,17 @@ public interface IEnergyGrid extends IGridCache, IEnergySource, IEnergyGridProvi
|
|||||||
/**
|
/**
|
||||||
* @return the current calculated idle energy drain each tick, is used internally to drain power for each tick.
|
* @return the current calculated idle energy drain each tick, is used internally to drain power for each tick.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
|
||||||
double getIdlePowerUsage();
|
double getIdlePowerUsage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the average power drain over the past 10 ticks, includes idle usage during this time, and all use of
|
* @return the average power drain over the past 10 ticks, includes idle usage during this time, and all use of
|
||||||
* extractPower.
|
* extractPower.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
|
||||||
double getAvgPowerUsage();
|
double getAvgPowerUsage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the average energy injected into the system per tick, for the last 10 ticks.
|
* @return the average energy injected into the system per tick, for the last 10 ticks.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
|
||||||
double getAvgPowerInjection();
|
double getAvgPowerInjection();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -85,15 +79,13 @@ public interface IEnergyGrid extends IGridCache, IEnergySource, IEnergyGridProvi
|
|||||||
*
|
*
|
||||||
* @return the amount of power that the network has OVER the limit.
|
* @return the amount of power that the network has OVER the limit.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
double injectPower( double amt, Actionable mode );
|
||||||
double injectPower( @Nonnegative double amt, @Nonnull Actionable mode );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this is should be considered an estimate, and not relied upon for real calculations.
|
* this is should be considered an estimate, and not relied upon for real calculations.
|
||||||
*
|
*
|
||||||
* @return estimated available power.
|
* @return estimated available power.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
|
||||||
double getStoredPower();
|
double getStoredPower();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -101,7 +93,6 @@ public interface IEnergyGrid extends IGridCache, IEnergySource, IEnergyGridProvi
|
|||||||
*
|
*
|
||||||
* @return estimated available power.
|
* @return estimated available power.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
|
||||||
double getMaxStoredPower();
|
double getMaxStoredPower();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -110,6 +101,5 @@ public interface IEnergyGrid extends IGridCache, IEnergySource, IEnergyGridProvi
|
|||||||
*
|
*
|
||||||
* @return Amount of power required to charge the grid, in AE.
|
* @return Amount of power required to charge the grid, in AE.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
double getEnergyDemand( double maxRequired );
|
||||||
double getEnergyDemand( @Nonnegative double maxRequired );
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,10 +24,7 @@
|
|||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.config.Actionable;
|
import appeng.api.config.Actionable;
|
||||||
|
|
||||||
@@ -38,91 +35,17 @@ import appeng.api.config.Actionable;
|
|||||||
public interface IEnergyGridProvider
|
public interface IEnergyGridProvider
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* internal use only
|
|
||||||
*
|
|
||||||
* Can return a list of providers behind the current.
|
|
||||||
*
|
|
||||||
* An example would be something acting as proxy between different {@link IEnergyGrid}s.
|
|
||||||
*
|
|
||||||
* This can contain duplicate entries, AE will ensure that each provider is only visited once.
|
|
||||||
*
|
|
||||||
* internal use only
|
* internal use only
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
double extractAEPower( double amt, Actionable mode, Set<IEnergyGrid> seen );
|
||||||
Collection<IEnergyGridProvider> providers();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* internal use only
|
* internal use only
|
||||||
*
|
|
||||||
* Extracts the requested amount from the provider.
|
|
||||||
*
|
|
||||||
* This should never forward a call to another {@link IEnergyGridProvider}, instead return them via
|
|
||||||
* {@link IEnergyGridProvider#providers()}
|
|
||||||
*
|
|
||||||
* @return the used amount
|
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
double injectAEPower( double amt, Actionable mode, Set<IEnergyGrid> seen );
|
||||||
double extractProviderPower( @Nonnegative double amt, @Nonnull Actionable mode );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Injects the offered amount into the provider.
|
|
||||||
*
|
|
||||||
* This should never forward a call to another {@link IEnergyGridProvider}, instead return them via
|
|
||||||
* {@link IEnergyGridProvider#providers()}
|
|
||||||
*
|
|
||||||
* internal use only
|
|
||||||
*
|
|
||||||
* @return the leftover amount
|
|
||||||
*/
|
|
||||||
@Nonnegative
|
|
||||||
double injectProviderPower( @Nonnegative double amt, @Nonnull Actionable mode );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* internal use only
|
* internal use only
|
||||||
*
|
|
||||||
* Returns the current demand of an provider.
|
|
||||||
*
|
|
||||||
* This should never forward a call to another {@link IEnergyGridProvider}, instead return them via
|
|
||||||
* {@link IEnergyGridProvider#providers()}
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @param d the max amount offered, the demand should never exceed it.
|
|
||||||
* @return the total amount demanded
|
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
double getEnergyDemand( double d, Set<IEnergyGrid> seen );
|
||||||
double getProviderEnergyDemand( @Nonnegative double d );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* internal use only
|
|
||||||
*
|
|
||||||
* AE currently uses this to enqueue the next visited provider.
|
|
||||||
*
|
|
||||||
* There is no guarantee that this works on in a perfect way.
|
|
||||||
* It can be limited to the returns of the past {@link IEnergyGridProvider#providers()}, but not any future one
|
|
||||||
* discovered by visiting further providers.
|
|
||||||
*
|
|
||||||
* E.g. inject into the the lowest one first or extract from the highest one.
|
|
||||||
*
|
|
||||||
* @return the current stored amount.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Nonnegative
|
|
||||||
double getProviderStoredEnergy();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* internal use only
|
|
||||||
*
|
|
||||||
* AE currently uses this to enqueue the next visited provider.
|
|
||||||
*
|
|
||||||
* There is no guarantee that this works on in a perfect way.
|
|
||||||
* It can be limited to the returns of the past {@link IEnergyGridProvider#providers()}, but not any future one
|
|
||||||
* discovered by visiting further providers.
|
|
||||||
*
|
|
||||||
* E.g. inject into the the lowest one first or extract from the highest one.
|
|
||||||
*
|
|
||||||
* @return the maximum amount stored.
|
|
||||||
*/
|
|
||||||
@Nonnegative
|
|
||||||
double getProviderMaxEnergy();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.config.Actionable;
|
import appeng.api.config.Actionable;
|
||||||
import appeng.api.config.PowerMultiplier;
|
import appeng.api.config.PowerMultiplier;
|
||||||
|
|
||||||
@@ -42,6 +39,5 @@ public interface IEnergySource
|
|||||||
*
|
*
|
||||||
* @return returns extracted power.
|
* @return returns extracted power.
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
double extractAEPower( double amt, Actionable mode, PowerMultiplier usePowerMultiplier );
|
||||||
double extractAEPower( @Nonnegative double amt, @Nonnull Actionable mode, @Nonnull PowerMultiplier usePowerMultiplier );
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DO NOT IMPLEMENT.
|
* DO NOT IMPLEMENT.
|
||||||
*
|
*
|
||||||
@@ -42,7 +39,7 @@ public interface IEnergyWatcher
|
|||||||
* @param amount
|
* @param amount
|
||||||
* @return true, if successfully added.
|
* @return true, if successfully added.
|
||||||
*/
|
*/
|
||||||
boolean add( @Nonnegative double amount );
|
boolean add( double amount );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove a specific threshold from the watcher.
|
* Remove a specific threshold from the watcher.
|
||||||
@@ -50,7 +47,7 @@ public interface IEnergyWatcher
|
|||||||
* @param amount
|
* @param amount
|
||||||
* @return true, if successfully removed.
|
* @return true, if successfully removed.
|
||||||
*/
|
*/
|
||||||
boolean remove( @Nonnegative double amount );
|
boolean remove( double amount );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes all thresholds and resets the watcher to a clean state.
|
* Removes all thresholds and resets the watcher to a clean state.
|
||||||
|
|||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
|
||||||
public interface IEnergyWatcherHost
|
public interface IEnergyWatcherHost
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -36,12 +33,12 @@ public interface IEnergyWatcherHost
|
|||||||
*
|
*
|
||||||
* @param newWatcher new watcher
|
* @param newWatcher new watcher
|
||||||
*/
|
*/
|
||||||
void updateWatcher( @Nonnull IEnergyWatcher newWatcher );
|
void updateWatcher( IEnergyWatcher newWatcher );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a threshold is crossed.
|
* Called when a threshold is crossed.
|
||||||
*
|
*
|
||||||
* @param energyGrid grid
|
* @param energyGrid grid
|
||||||
*/
|
*/
|
||||||
void onThresholdPass( @Nonnull IEnergyGrid energyGrid );
|
void onThresholdPass( IEnergyGrid energyGrid );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ package appeng.api.networking.events;
|
|||||||
|
|
||||||
|
|
||||||
import appeng.api.storage.IMEMonitor;
|
import appeng.api.storage.IMEMonitor;
|
||||||
import appeng.api.storage.IStorageChannel;
|
import appeng.api.storage.StorageChannel;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,9 +40,9 @@ public class MENetworkStorageEvent extends MENetworkEvent
|
|||||||
{
|
{
|
||||||
|
|
||||||
public final IMEMonitor monitor;
|
public final IMEMonitor monitor;
|
||||||
public final IStorageChannel channel;
|
public final StorageChannel channel;
|
||||||
|
|
||||||
public MENetworkStorageEvent( final IMEMonitor o, final IStorageChannel chan )
|
public MENetworkStorageEvent( final IMEMonitor o, final StorageChannel chan )
|
||||||
{
|
{
|
||||||
this.monitor = o;
|
this.monitor = o;
|
||||||
this.channel = chan;
|
this.channel = chan;
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking.pathing;
|
package appeng.api.networking.pathing;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridCache;
|
import appeng.api.networking.IGridCache;
|
||||||
|
|
||||||
|
|
||||||
@@ -41,7 +39,6 @@ public interface IPathingGrid extends IGridCache
|
|||||||
* @return the controller state of the network, useful if you want to
|
* @return the controller state of the network, useful if you want to
|
||||||
* require a controller for a feature.
|
* require a controller for a feature.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
ControllerState getControllerState();
|
ControllerState getControllerState();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013 AlgorithmX2
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
* this software and associated documentation files (the "Software"), to deal in
|
||||||
|
* the Software without restriction, including without limitation the rights to
|
||||||
|
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package appeng.api.networking.security;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Consider refactoring.
|
||||||
|
*/
|
||||||
|
public class BaseActionSource
|
||||||
|
{
|
||||||
|
|
||||||
|
public boolean isPlayer()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isMachine()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,12 +24,11 @@
|
|||||||
package appeng.api.networking.security;
|
package appeng.api.networking.security;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import appeng.api.networking.IGridHost;
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
public interface IActionHost
|
public interface IActionHost extends IGridHost
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,6 +39,5 @@ public interface IActionHost
|
|||||||
* @return the the gridnode that actions from this IGridHost are preformed
|
* @return the the gridnode that actions from this IGridHost are preformed
|
||||||
* by.
|
* by.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
|
||||||
IGridNode getActionableNode();
|
IGridNode getActionableNode();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,77 +0,0 @@
|
|||||||
/*
|
|
||||||
* The MIT License (MIT)
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 AlgorithmX2
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
* this software and associated documentation files (the "Software"), to deal in
|
|
||||||
* the Software without restriction, including without limitation the rights to
|
|
||||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
* subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package appeng.api.networking.security;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The source of any action.
|
|
||||||
*
|
|
||||||
* This can either be a {@link EntityPlayer} or an {@link IActionHost}.
|
|
||||||
*
|
|
||||||
* In most cases this is used for security checks, but can be used to validate the source itself.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface IActionSource
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* If present, AE will consider the player being the source for the action.
|
|
||||||
*
|
|
||||||
* This will take precedence over {@link IActionSource#machine()} in any case.
|
|
||||||
*
|
|
||||||
* @return An optional player issuing the action.
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
Optional<EntityPlayer> player();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* If present, it indicates the {@link IActionHost} of the source.
|
|
||||||
*
|
|
||||||
* Should {@link IActionSource#player()} be absent, it will consider a machine as source.
|
|
||||||
*
|
|
||||||
* It is recommended to include the machine even when a player is present.
|
|
||||||
*
|
|
||||||
* @return An optional machine issuing the action or acting as proxy for a player.
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
Optional<IActionHost> machine();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An {@link IActionSource} can have multiple optional contexts.
|
|
||||||
*
|
|
||||||
* It is strongly recommended to limit the uses for absolutely necessary cases.
|
|
||||||
*
|
|
||||||
* Currently there are no public contexts made available by AE.
|
|
||||||
* An example would be the context interfaces use internally to avoid looping items between each other.
|
|
||||||
*/
|
|
||||||
@Nonnull
|
|
||||||
<T> Optional<T> context( @Nonnull Class<T> key );
|
|
||||||
}
|
|
||||||
@@ -24,9 +24,6 @@
|
|||||||
package appeng.api.networking.security;
|
package appeng.api.networking.security;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
|
||||||
import appeng.api.config.SecurityPermissions;
|
import appeng.api.config.SecurityPermissions;
|
||||||
@@ -49,7 +46,7 @@ public interface ISecurityGrid extends IGridCache
|
|||||||
*
|
*
|
||||||
* @return true if the player has permissions.
|
* @return true if the player has permissions.
|
||||||
*/
|
*/
|
||||||
boolean hasPermission( @Nonnull EntityPlayer player, @Nonnull SecurityPermissions perm );
|
boolean hasPermission( EntityPlayer player, SecurityPermissions perm );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a player has permissions.
|
* Check if a player has permissions.
|
||||||
@@ -59,7 +56,7 @@ public interface ISecurityGrid extends IGridCache
|
|||||||
*
|
*
|
||||||
* @return true if the player has permissions.
|
* @return true if the player has permissions.
|
||||||
*/
|
*/
|
||||||
boolean hasPermission( @Nonnegative int playerID, @Nonnull SecurityPermissions perm );
|
boolean hasPermission( int playerID, SecurityPermissions perm );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return PlayerID of the admin, or owner, this is the person who placed the security block.
|
* @return PlayerID of the admin, or owner, this is the person who placed the security block.
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ package appeng.api.networking.security;
|
|||||||
|
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Map;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import appeng.api.config.SecurityPermissions;
|
import appeng.api.config.SecurityPermissions;
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ public interface ISecurityProvider
|
|||||||
*
|
*
|
||||||
* @param playerPerms player permissions
|
* @param playerPerms player permissions
|
||||||
*/
|
*/
|
||||||
void readPermissions( Map<Integer, EnumSet<SecurityPermissions>> playerPerms );
|
void readPermissions( HashMap<Integer, EnumSet<SecurityPermissions>> playerPerms );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return is security on or off?
|
* @return is security on or off?
|
||||||
|
|||||||
@@ -26,8 +26,6 @@ package appeng.api.networking.security;
|
|||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.config.SecurityPermissions;
|
import appeng.api.config.SecurityPermissions;
|
||||||
|
|
||||||
|
|
||||||
@@ -43,5 +41,5 @@ public interface ISecurityRegistry
|
|||||||
* @param playerID player id
|
* @param playerID player id
|
||||||
* @param permissions permissions of player
|
* @param permissions permissions of player
|
||||||
*/
|
*/
|
||||||
void addPlayer( int playerID, @Nonnull EnumSet<SecurityPermissions> permissions );
|
void addPlayer( int playerID, EnumSet<SecurityPermissions> permissions );
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-10
@@ -21,22 +21,24 @@
|
|||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package appeng.api.util;
|
package appeng.api.networking.security;
|
||||||
|
|
||||||
|
/**
|
||||||
public enum AECableSize
|
* TODO: Consider refactoring.
|
||||||
|
*/
|
||||||
|
public class MachineSource extends BaseActionSource
|
||||||
{
|
{
|
||||||
NONE,
|
|
||||||
NORMAL,
|
|
||||||
DENSE;
|
|
||||||
|
|
||||||
public static AECableSize min( AECableSize a, AECableSize b )
|
public final IActionHost via;
|
||||||
|
|
||||||
|
public MachineSource( final IActionHost v )
|
||||||
{
|
{
|
||||||
return a.compareTo( b ) < 0 ? a : b;
|
this.via = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AECableSize max( AECableSize a, AECableSize b )
|
@Override
|
||||||
|
public boolean isMachine()
|
||||||
{
|
{
|
||||||
return a.compareTo( b ) > 0 ? a : b;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+16
-10
@@ -21,23 +21,29 @@
|
|||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package appeng.api.util;
|
package appeng.api.networking.security;
|
||||||
|
|
||||||
|
|
||||||
public enum AECableVariant
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Consider refactoring.
|
||||||
|
*/
|
||||||
|
public class PlayerSource extends BaseActionSource
|
||||||
{
|
{
|
||||||
NONE,
|
|
||||||
GLASS,
|
|
||||||
COVERED,
|
|
||||||
SMART;
|
|
||||||
|
|
||||||
public static AECableVariant min( AECableVariant a, AECableVariant b )
|
public final EntityPlayer player;
|
||||||
|
public final IActionHost via;
|
||||||
|
|
||||||
|
public PlayerSource( final EntityPlayer p, final IActionHost v )
|
||||||
{
|
{
|
||||||
return a.compareTo( b ) < 0 ? a : b;
|
this.player = p;
|
||||||
|
this.via = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AECableVariant max( AECableVariant a, AECableVariant b )
|
@Override
|
||||||
|
public boolean isPlayer()
|
||||||
{
|
{
|
||||||
return a.compareTo( b ) > 0 ? a : b;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ import appeng.api.storage.IMEMonitorHandlerReceiver;
|
|||||||
import appeng.api.storage.data.IAEStack;
|
import appeng.api.storage.data.IAEStack;
|
||||||
|
|
||||||
|
|
||||||
public interface IBaseMonitor<T extends IAEStack<T>>
|
public interface IBaseMonitor<T extends IAEStack>
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
package appeng.api.networking.storage;
|
package appeng.api.networking.storage;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.security.IActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.storage.IStorageChannel;
|
import appeng.api.storage.StorageChannel;
|
||||||
import appeng.api.storage.data.IAEStack;
|
import appeng.api.storage.data.IAEStack;
|
||||||
import appeng.api.storage.data.IItemList;
|
import appeng.api.storage.data.IItemList;
|
||||||
|
|
||||||
@@ -44,8 +44,11 @@ public interface IStackWatcherHost
|
|||||||
/**
|
/**
|
||||||
* Called when a watched item changes amounts.
|
* Called when a watched item changes amounts.
|
||||||
*
|
*
|
||||||
|
* @param o changed item list
|
||||||
|
* @param fullStack old stack
|
||||||
* @param diffStack new stack
|
* @param diffStack new stack
|
||||||
|
* @param src action source
|
||||||
* @param chan storage channel
|
* @param chan storage channel
|
||||||
*/
|
*/
|
||||||
void onStackChange( IItemList<?> o, IAEStack<?> fullStack, IAEStack<?> diffStack, IActionSource src, IStorageChannel<?> chan );
|
void onStackChange( IItemList o, IAEStack fullStack, IAEStack diffStack, BaseActionSource src, StorageChannel chan );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,11 +26,11 @@ package appeng.api.networking.storage;
|
|||||||
|
|
||||||
import appeng.api.networking.IGridCache;
|
import appeng.api.networking.IGridCache;
|
||||||
import appeng.api.networking.IGridHost;
|
import appeng.api.networking.IGridHost;
|
||||||
import appeng.api.networking.security.IActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.storage.ICellContainer;
|
import appeng.api.storage.ICellContainer;
|
||||||
import appeng.api.storage.ICellProvider;
|
import appeng.api.storage.ICellProvider;
|
||||||
import appeng.api.storage.IStorageChannel;
|
|
||||||
import appeng.api.storage.IStorageMonitorable;
|
import appeng.api.storage.IStorageMonitorable;
|
||||||
|
import appeng.api.storage.StorageChannel;
|
||||||
import appeng.api.storage.data.IAEStack;
|
import appeng.api.storage.data.IAEStack;
|
||||||
|
|
||||||
|
|
||||||
@@ -50,8 +50,7 @@ public interface IStorageGrid extends IGridCache, IStorageMonitorable
|
|||||||
*
|
*
|
||||||
* @param input injected items
|
* @param input injected items
|
||||||
*/
|
*/
|
||||||
void postAlterationOfStoredItems( IStorageChannel<?> chan, Iterable<? extends IAEStack<?>> input, IActionSource src );
|
void postAlterationOfStoredItems( StorageChannel chan, Iterable<? extends IAEStack> input, BaseActionSource src );
|
||||||
void postCraftablesChanges( IStorageChannel<?> chan, Iterable<? extends IAEStack<?>> input, IActionSource src);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to add a cell provider to the storage system
|
* Used to add a cell provider to the storage system
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking.ticking;
|
package appeng.api.networking.ticking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
@@ -47,18 +45,18 @@ public interface IGridTickable
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a valid TickingRequest to tell AE a guide for which type of
|
* You can return null, if you wish to tick using MC's ticking mechanism, or
|
||||||
* responsiveness your device wants.
|
* you can return a valid TickingRequest to tell AE a guide for which type
|
||||||
|
* of responsiveness your device wants.
|
||||||
*
|
*
|
||||||
* This will be called for your tile any time your tile changes grids, this
|
* this will be called for your tile any time your tile changes grids, this
|
||||||
* can happen at any time, so if your using the sleep feature you may wish
|
* can happen at any time, so if your using the sleep feature you may wish
|
||||||
* to preserve your sleep, in the result of this method. or you can simply
|
* to preserve your sleep, in the result of this method. or you can simply
|
||||||
* reset it.
|
* reset it.
|
||||||
*
|
*
|
||||||
* @return a valid new TickingRequest
|
* @return null or a valid new TickingRequest
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
TickingRequest getTickingRequest( IGridNode node );
|
||||||
TickingRequest getTickingRequest( @Nonnull IGridNode node );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AE lets you adjust your tick rate based on the results of your tick, if
|
* AE lets you adjust your tick rate based on the results of your tick, if
|
||||||
@@ -69,12 +67,11 @@ public interface IGridTickable
|
|||||||
*
|
*
|
||||||
* Note: this is never called if you return null from getTickingRequest.
|
* Note: this is never called if you return null from getTickingRequest.
|
||||||
*
|
*
|
||||||
* @param ticksSinceLastCall the number of world ticks that were skipped since your last
|
* @param TicksSinceLastCall the number of world ticks that were skipped since your last
|
||||||
* tick, you can use this to adjust speed of processing or adjust
|
* tick, you can use this to adjust speed of processing or adjust
|
||||||
* your tick rate.
|
* your tick rate.
|
||||||
*
|
*
|
||||||
* @return tick rate adjustment.
|
* @return tick rate adjustment.
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
TickRateModulation tickingRequest( IGridNode node, int TicksSinceLastCall );
|
||||||
TickRateModulation tickingRequest( @Nonnull IGridNode node, int ticksSinceLastCall );
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
package appeng.api.networking.ticking;
|
package appeng.api.networking.ticking;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridCache;
|
import appeng.api.networking.IGridCache;
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
@@ -44,7 +42,7 @@ public interface ITickManager extends IGridCache
|
|||||||
*
|
*
|
||||||
* @param node gridnode
|
* @param node gridnode
|
||||||
*/
|
*/
|
||||||
boolean alertDevice( @Nonnull IGridNode node );
|
boolean alertDevice( IGridNode node );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* disables ticking for your device.
|
* disables ticking for your device.
|
||||||
@@ -53,7 +51,7 @@ public interface ITickManager extends IGridCache
|
|||||||
*
|
*
|
||||||
* @return if the call was successful.
|
* @return if the call was successful.
|
||||||
*/
|
*/
|
||||||
boolean sleepDevice( @Nonnull IGridNode node );
|
boolean sleepDevice( IGridNode node );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enables ticking for your device, undoes a sleepDevice call.
|
* enables ticking for your device, undoes a sleepDevice call.
|
||||||
@@ -62,5 +60,5 @@ public interface ITickManager extends IGridCache
|
|||||||
*
|
*
|
||||||
* @return if the call was successful.
|
* @return if the call was successful.
|
||||||
*/
|
*/
|
||||||
boolean wakeDevice( @Nonnull IGridNode node );
|
boolean wakeDevice( IGridNode node );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
*
|
*
|
||||||
@@ -22,7 +21,7 @@
|
|||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@API(apiVersion = "rv6", owner = "appliedenergistics2", provides = "appliedenergistics2|API")
|
@API( apiVersion = "@aeversion@", owner = "appliedenergistics2", provides = "appliedenergistics2|API" )
|
||||||
package appeng.api;
|
package appeng.api;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
package appeng.api.parts;
|
package appeng.api.parts;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
@@ -69,6 +71,7 @@ public interface IFacadePart
|
|||||||
/**
|
/**
|
||||||
* The item that this facade masquerades as.
|
* The item that this facade masquerades as.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
ItemStack getTextureItem();
|
ItemStack getTextureItem();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user