Compare commits
122 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d9f362270b | |||
| 37aef15a02 | |||
| 2d8728f0e1 | |||
| 3498a0902b | |||
| bb4b6719fe | |||
| 34f78a7ce4 | |||
| 064acc21ee | |||
| deeb67f07d | |||
| 2eeaa80b59 | |||
| 1710894edc | |||
| 7cb485aa48 | |||
| 65d0ae9290 | |||
| 1baed48b0a | |||
| da6b31cdb1 | |||
| 013c8d882c | |||
| 503d325021 | |||
| 875214c166 | |||
| 2eec5309ac | |||
| a9ec31d72f | |||
| e392ecd08d | |||
| 03f9436ef9 | |||
| 8917a331eb | |||
| 8fbb317f6e | |||
| f15561c4dc | |||
| ee431b3269 | |||
| ba97dacfdd | |||
| ce6a2e8487 | |||
| 64ed05a1b4 | |||
| 23aa8fd72d | |||
| 332ea089e3 | |||
| 106003ebf9 | |||
| 8271597394 | |||
| 9210069d9b | |||
| f364359905 | |||
| fb618b939f | |||
| 43a47f8971 | |||
| e85acf2bee | |||
| bbde2443e1 | |||
| ad2f63ba0d | |||
| ee977720ca | |||
| ca953f4596 | |||
| 2adc055536 | |||
| 399934ac2b | |||
| 9451106c81 | |||
| 8e75de8fb9 | |||
| eca598516e | |||
| 2c5a54c210 | |||
| 1ac2ab0c10 | |||
| 199b17b9c6 | |||
| f582c8081b | |||
| 77d66b1817 | |||
| df370396b1 | |||
| ceeb84a439 | |||
| 9af6b50347 | |||
| d151313253 | |||
| 6d935cc8ae | |||
| 1396dbf600 | |||
| 8087a43df5 | |||
| c2cd395ca1 | |||
| a6e2975677 | |||
| 3783ae8619 | |||
| be17616836 | |||
| 36c72d641f | |||
| f878a7598d | |||
| 071ae6d680 | |||
| cc29230ce5 | |||
| b282e5d968 | |||
| 3410db7b45 | |||
| 800c30e91c | |||
| 817163dbf6 | |||
| d164e279ef | |||
| 4f9b8db6fc | |||
| b58c92ebb6 | |||
| 2667b8eac6 | |||
| 235fad439d | |||
| fcea444041 | |||
| 80f56d4359 | |||
| f14bfa7d53 | |||
| a7d55ee520 | |||
| 7382897e8e | |||
| aac2b598ea | |||
| 0f31cd43d2 | |||
| 788de6d432 | |||
| 04a6a683bc | |||
| 25e433f7bd | |||
| fbc44f47c8 | |||
| 06bca227d0 | |||
| 8321a5fe1c | |||
| 1bb8de3570 | |||
| 8666937117 | |||
| eaf57bedf6 | |||
| a30ef4679c | |||
| 0ee2ca72ac | |||
| 881bb919da | |||
| 5ecd68d5b6 | |||
| e2d0e5d424 | |||
| e3bf7d63c0 | |||
| 3fedcf273b | |||
| 8042dbb3db | |||
| e7e397c412 | |||
| ecc472a692 | |||
| 9790d9fd93 | |||
| f3f89344b4 | |||
| bac94b67b8 | |||
| ba1afcca38 | |||
| bb1c341c95 | |||
| 2ef04f1303 | |||
| 632d048ee2 | |||
| adea6b3dec | |||
| 5416ea2365 | |||
| a081a4f066 | |||
| b54676793e | |||
| d34c988c88 | |||
| 4ff1631f89 | |||
| dc6a325392 | |||
| 4f364a46df | |||
| c699ed44aa | |||
| 6bd4472229 | |||
| c9d67e40af | |||
| 9a7329598e | |||
| 278cfc076b | |||
| 2a89bdf52a |
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
!gradlew
|
!gradlew
|
||||||
!gradlew.bat
|
!gradlew.bat
|
||||||
!build.gradle
|
!build.gradle
|
||||||
!build.properties
|
!gradle.properties
|
||||||
|
|
||||||
# include markdowns
|
# include markdowns
|
||||||
!README.md
|
!README.md
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
<!--[](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases) -->
|
||||||
|
[](http://ci.tsr.me/viewType.html?buildTypeId=AppliedEnergistics_AutoHeadBuild&tab=buildTypeStatusDiv)
|
||||||
|
|
||||||
# Applied Energistics 2
|
# Applied Energistics 2
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
@@ -26,12 +29,17 @@ A Mod about Matter, Energy and using them to conquer the world..
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Applied Energistics 2 API is (c) 2013 - 2014 AlgorithmX2 and licensed under MIT.
|
* Applied Energistics 2 API
|
||||||
|
- (c) 2013 - 2015 AlgorithmX2 et al
|
||||||
Applied Energistics 2 is (c) 2013 - 2014 AlgorithmX2 and licensed under LGPL v3.
|
- 
|
||||||
See the LICENSE.txt for details or go to http://www.gnu.org/licenses/lgpl-3.0.txt for more information.
|
* Applied Energistics 2
|
||||||
|
- (c) 2013 - 2015 AlgorithmX2 et al
|
||||||
Textures and Models are licensed under [Creative Commons, Attribution-NonCommercial-ShareAlike 3.0]( https://creativecommons.org/licenses/by-nc-sa/3.0/).
|
- [](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
|
||||||
|
* Textures and Models
|
||||||
|
- (c) 2013 - 2015 AlgorithmX2 et al
|
||||||
|
- [](https://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||||
|
* Text and Translations
|
||||||
|
- 
|
||||||
|
|
||||||
## Downloads
|
## Downloads
|
||||||
|
|
||||||
@@ -103,7 +111,7 @@ Getting Started
|
|||||||
6. Push to your fork `git push`
|
6. Push to your fork `git push`
|
||||||
7. Create a Pull-Request on GitHub
|
7. Create a Pull-Request on GitHub
|
||||||
8. Wait for review
|
8. Wait for review
|
||||||
9. Suqash commits for cleaner history
|
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.
|
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.
|
||||||
|
|
||||||
@@ -137,10 +145,6 @@ An example string would be `appeng:appliedenergistics2:rv2-alpha-30:dev`
|
|||||||
|
|
||||||
Files must be encoded as UTF-8.
|
Files must be encoded as UTF-8.
|
||||||
|
|
||||||
### License
|
|
||||||
|
|
||||||
All Text and Translations submitted here can be used for any purpose, and may be re-distributed or used without any limitations.
|
|
||||||
|
|
||||||
### New Translations
|
### New Translations
|
||||||
|
|
||||||
You can provide any additional languages by creating a new file with the [appropriate language code](http://download1.parallels.com/SiteBuilder/Windows/docs/3.2/en_US/sitebulder-3.2-win-sdk-localization-pack-creation-guide/30801.htm).
|
You can provide any additional languages by creating a new file with the [appropriate language code](http://download1.parallels.com/SiteBuilder/Windows/docs/3.2/en_US/sitebulder-3.2-win-sdk-localization-pack-creation-guide/30801.htm).
|
||||||
|
|||||||
+10
-7
@@ -18,13 +18,15 @@
|
|||||||
|
|
||||||
apply plugin: 'forge'
|
apply plugin: 'forge'
|
||||||
|
|
||||||
apply from: 'gradle/scripts/propertyloader.gradle'
|
|
||||||
apply from: 'gradle/scripts/dependencies.gradle'
|
apply from: 'gradle/scripts/dependencies.gradle'
|
||||||
apply from: 'gradle/scripts/artifacts.gradle'
|
apply from: 'gradle/scripts/artifacts.gradle'
|
||||||
apply from: 'gradle/scripts/autoinstallruntime.gradle'
|
apply from: 'gradle/scripts/autoinstallruntime.gradle'
|
||||||
|
apply from: 'gradle/scripts/integration.gradle'
|
||||||
|
apply from: 'gradle/scripts/optional.gradle'
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
@@ -50,9 +52,9 @@ configurations.all {
|
|||||||
sourceCompatibility = JavaVersion.VERSION_1_6
|
sourceCompatibility = JavaVersion.VERSION_1_6
|
||||||
targetCompatibility = JavaVersion.VERSION_1_6
|
targetCompatibility = JavaVersion.VERSION_1_6
|
||||||
|
|
||||||
version = config.version + "-" + config.aechannel + "-" + config.build
|
version = aeversion + "-" + aechannel + "-" + aebuild
|
||||||
group = config.group
|
group = aegroup
|
||||||
archivesBaseName = config.archivesBaseName
|
archivesBaseName = aebasename
|
||||||
|
|
||||||
// If TeamCity is running this build, lets set the version info
|
// If TeamCity is running this build, lets set the version info
|
||||||
if (hasProperty("teamcity")) {
|
if (hasProperty("teamcity")) {
|
||||||
@@ -77,11 +79,11 @@ jar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
minecraft {
|
minecraft {
|
||||||
version = config.minecraft_version + "-" + config.forge_version
|
version = minecraft_version + "-" + forge_version
|
||||||
|
|
||||||
replaceIn "AEConfig.java"
|
replaceIn "AEConfig.java"
|
||||||
replace "@version@", project.version
|
replace "@version@", project.version
|
||||||
replace "@aechannel@", config.aechannel
|
replace "@aechannel@", aechannel
|
||||||
|
|
||||||
// used when launching minecraft in dev env
|
// used when launching minecraft in dev env
|
||||||
runDir = "run"
|
runDir = "run"
|
||||||
@@ -110,6 +112,7 @@ processResources {
|
|||||||
// replace stuff in mcmod.info, nothing else
|
// replace stuff in mcmod.info, nothing else
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
include 'mcmod.info'
|
include 'mcmod.info'
|
||||||
expand 'version': project.version, 'mcversion': config.minecraft_version
|
expand 'version': project.version, 'mcversion': minecraft_version
|
||||||
|
include 'pack.mcmeta'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
version=rv2
|
|
||||||
aechannel=beta
|
|
||||||
build=0
|
|
||||||
group=appeng
|
|
||||||
archivesBaseName=appliedenergistics2
|
|
||||||
|
|
||||||
#########################################################
|
|
||||||
# Versions #
|
|
||||||
#########################################################
|
|
||||||
minecraft_version=1.7.10
|
|
||||||
forge_version=10.13.2.1291
|
|
||||||
|
|
||||||
#########################################################
|
|
||||||
# APIs used for development #
|
|
||||||
#########################################################
|
|
||||||
cb_minecraft_version=1.7.10
|
|
||||||
fmp_version=1.1.1.324
|
|
||||||
code_chicken_lib_version=1.1.3.127
|
|
||||||
code_chicken_core_version=1.0.4.35
|
|
||||||
nei_version=1.0.4.90
|
|
||||||
bc_version=6.4.3
|
|
||||||
|
|
||||||
#########################################################
|
|
||||||
# API Stubs #
|
|
||||||
# Note: Do not edit these version numbers as they are #
|
|
||||||
# not the version of the mod, but stub code for AE2 to #
|
|
||||||
# compile #
|
|
||||||
#########################################################
|
|
||||||
api_betterstorage_version=1
|
|
||||||
api_coloredlightscore_version=1
|
|
||||||
api_craftguide_version=1
|
|
||||||
api_ic2_version=1
|
|
||||||
api_immibis_version=1
|
|
||||||
api_invtweaks_version=1
|
|
||||||
api_mekansim_version=1.7.10-8.0.1.198
|
|
||||||
api_mfr_version=1
|
|
||||||
api_railcraft_version=1
|
|
||||||
api_rblocks_version=1
|
|
||||||
api_rf_version=2
|
|
||||||
api_rotarycraft_version=V5c
|
|
||||||
api_waila_version=1.5.10_1.7.10
|
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
aeversion=rv2
|
||||||
|
aechannel=beta
|
||||||
|
aebuild=0
|
||||||
|
aegroup=appeng
|
||||||
|
aebasename=appliedenergistics2
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
# Versions #
|
||||||
|
#########################################################
|
||||||
|
minecraft_version=1.7.10
|
||||||
|
forge_version=10.13.2.1291
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
# Installable #
|
||||||
|
#########################################################
|
||||||
|
waila_version=1.5.10
|
||||||
|
jabba_version=1.2.1a
|
||||||
|
enderstorage_version=1.4.7.33
|
||||||
|
translocator_version=1.1.1.14
|
||||||
|
ic2_version=2.2.717
|
||||||
|
enderio_version=2.3.0.375_beta
|
||||||
|
#cofhlib_version=1.0.1-157
|
||||||
|
#cofhcore_version=3.0.2-270
|
||||||
|
#texpansion_version=4.0.0-176
|
||||||
|
#tfoundation_version=1.0.0-82
|
||||||
|
betterstorage_version=0.11.3.123.20
|
||||||
|
invtweaks_version=1.58
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
# Provided APIs #
|
||||||
|
#########################################################
|
||||||
|
fmp_version=1.1.1.324
|
||||||
|
code_chicken_lib_version=1.1.3.127
|
||||||
|
code_chicken_core_version=1.0.4.35
|
||||||
|
nei_version=1.0.4.90
|
||||||
|
bc_version=6.4.6
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
# Self Compiled APIs #
|
||||||
|
#########################################################
|
||||||
|
mekansim_version=8.0.1.198
|
||||||
|
rotarycraft_version=V5c
|
||||||
|
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
# Self Compiled API Stubs #
|
||||||
|
# Note: Do not edit these version numbers as they are #
|
||||||
|
# not the version of the mod, but stub code for AE2 to #
|
||||||
|
# compile #
|
||||||
|
#########################################################
|
||||||
|
api_coloredlightscore_version=1
|
||||||
|
api_craftguide_version=1
|
||||||
|
api_immibis_version=1
|
||||||
|
api_mfr_version=1
|
||||||
|
api_railcraft_version=1
|
||||||
|
api_rblocks_version=1
|
||||||
|
api_rf_version=2
|
||||||
@@ -19,14 +19,14 @@
|
|||||||
|
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
maven {
|
maven {
|
||||||
name 'CB Maven FS'
|
name "ChickenBones"
|
||||||
url "http://chickenbones.net/maven/"
|
url "http://chickenbones.net/maven/"
|
||||||
}
|
}
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
name "Waila Mobius Repo"
|
name "Mobius"
|
||||||
url "http://mobiusstrip.eu/maven"
|
url "http://mobiusstrip.eu/maven"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,31 +34,86 @@ repositories {
|
|||||||
name "FireBall API Depot"
|
name "FireBall API Depot"
|
||||||
url "http://dl.tsr.me/artifactory/libs-release-local"
|
url "http://dl.tsr.me/artifactory/libs-release-local"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "Player"
|
||||||
|
url = "http://maven.ic2.player.to/"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "Tterrag"
|
||||||
|
url = "http://maven.tterrag.com/"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "RX14 Proxy"
|
||||||
|
url = "http://mvn.rx14.co.uk/repo/"
|
||||||
|
}
|
||||||
|
// CurseForge DNS for TE is not available or I am just being unlucky, code part can stay since this is applicable to any other curseforge mod though
|
||||||
|
// ivy {
|
||||||
|
// name = "CoFHLib"
|
||||||
|
// artifactPattern "http://addons.cursecdn.com/files/2212/893/[module]-[revision].[ext]"
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// ivy {
|
||||||
|
// name = "CoFHCore"
|
||||||
|
// artifactPattern "http://addons.cursecdn.com/files/2212/895/[module]-[revision].[ext]"
|
||||||
|
// }
|
||||||
|
|
||||||
|
// ivy {
|
||||||
|
// name = "ThermalExpansion"
|
||||||
|
// artifactPattern "http://addons.curse.cursecdn.com/files/2212/446/[module]-[revision].[ext]"
|
||||||
|
// }
|
||||||
|
|
||||||
|
// ivy {
|
||||||
|
// name = "ThermalFoundation"
|
||||||
|
// artifactPattern "http://addons.curse.cursecdn.com/files/2212/444/[module]-[revision].[ext]"
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
mods
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
// installable
|
||||||
|
mods "mcp.mobius.waila:Waila:${waila_version}_${minecraft_version}:dev"
|
||||||
|
mods "mcp.mobius.jabba:Jabba:${jabba_version}_${minecraft_version}:dev"
|
||||||
|
mods "codechicken:EnderStorage:${minecraft_version}-${enderstorage_version}:dev"
|
||||||
|
mods "codechicken:Translocator:${minecraft_version}-${translocator_version}:dev"
|
||||||
|
mods "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:dev"
|
||||||
|
mods "com.enderio:EnderIO:${minecraft_version}-${enderio_version}:dev"
|
||||||
|
mods "net.mcft.copy.betterstorage:BetterStorage:${minecraft_version}-${betterstorage_version}:deobf"
|
||||||
|
mods "inventorytweaks:InventoryTweaks:${invtweaks_version}:deobf"
|
||||||
|
// mods name: 'CoFHLib', version: "[${minecraft_version}]${cofhlib_version}-dev", ext: 'jar'
|
||||||
|
// mods name: 'CoFHCore', version: "[${minecraft_version}]${cofhcore_version}-dev", ext: 'jar'
|
||||||
|
// mods name: 'ThermalExpansion', version: "[${minecraft_version}]${texpansion_version}-dev", ext: 'jar'
|
||||||
|
// mods name: 'ThermalFoundation', version: "[${minecraft_version}]${tfoundation_version}-dev", ext: 'jar'
|
||||||
|
|
||||||
compile "codechicken:ForgeMultipart:${config.cb_minecraft_version}-${config.fmp_version}:dev"
|
compile "codechicken:ForgeMultipart:${minecraft_version}-${fmp_version}:dev"
|
||||||
compile "codechicken:CodeChickenLib:${config.cb_minecraft_version}-${config.code_chicken_lib_version}:dev"
|
compile "codechicken:CodeChickenLib:${minecraft_version}-${code_chicken_lib_version}:dev"
|
||||||
compile "codechicken:CodeChickenCore:${config.cb_minecraft_version}-${config.code_chicken_core_version}:dev"
|
compile "codechicken:CodeChickenCore:${minecraft_version}-${code_chicken_core_version}:dev"
|
||||||
compile "codechicken:NotEnoughItems:${config.cb_minecraft_version}-${config.nei_version}:dev"
|
compile "codechicken:NotEnoughItems:${minecraft_version}-${nei_version}:dev"
|
||||||
|
compile "com.mod-buildcraft:buildcraft:${bc_version}:dev"
|
||||||
|
|
||||||
compile "com.mod-buildcraft:buildcraft:${config.bc_version}:dev"
|
// provided APIs
|
||||||
|
compile "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:api"
|
||||||
|
compile "net.mcft.copy.betterstorage:BetterStorage:${minecraft_version}-${betterstorage_version}:api"
|
||||||
|
|
||||||
// self compiled APIs
|
// self compiled APIs
|
||||||
compile(group: 'api', name: 'betterstorage', version: "${config.api_betterstorage_version}")
|
compile "appeng:Waila:${waila_version}_${minecraft_version}:api"
|
||||||
compile(group: 'api', name: 'coloredlightscore', version: "${config.api_coloredlightscore_version}")
|
compile "appeng:RotaryCraft:${rotarycraft_version}:api"
|
||||||
compile(group: 'api', name: 'craftguide', version: "${config.api_craftguide_version}")
|
compile "appeng:mekanism:${minecraft_version}-${mekansim_version}:api"
|
||||||
compile(group: 'api', name: 'ic2', version: "${config.api_ic2_version}")
|
compile "appeng:InventoryTweaks:${invtweaks_version}:api"
|
||||||
compile(group: 'api', name: 'immibis', version: "${config.api_immibis_version}")
|
|
||||||
compile(group: 'api', name: 'invtweaks', version: "${config.api_invtweaks_version}")
|
// self compiled stubs
|
||||||
compile(group: 'api', name: 'mfr', version: "${config.api_mfr_version}")
|
compile(group: 'api', name: 'coloredlightscore', version: "${api_coloredlightscore_version}")
|
||||||
compile(group: 'api', name: 'railcraft', version: "${config.api_railcraft_version}")
|
compile(group: 'api', name: 'craftguide', version: "${api_craftguide_version}")
|
||||||
compile(group: 'api', name: 'rblocks', version: "${config.api_rblocks_version}")
|
compile(group: 'api', name: 'immibis', version: "${api_immibis_version}")
|
||||||
compile(group: 'api', name: 'rf', version: "${config.api_rf_version}")
|
compile(group: 'api', name: 'mfr', version: "${api_mfr_version}")
|
||||||
compile "appeng:Waila:${config.api_waila_version}:api"
|
compile(group: 'api', name: 'railcraft', version: "${api_railcraft_version}")
|
||||||
compile "appeng:RotaryCraft:${config.api_rotarycraft_version}:api"
|
compile(group: 'api', name: 'rblocks', version: "${api_rblocks_version}")
|
||||||
compile "appeng:mekanism:${config.api_mekansim_version}:api"
|
compile(group: 'api', name: 'rf', version: "${api_rf_version}")
|
||||||
|
|
||||||
testCompile "junit:junit:4.11"
|
testCompile "junit:junit:4.11"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apply plugin: 'idea'
|
||||||
|
|
||||||
|
idea {
|
||||||
|
module {
|
||||||
|
inheritOutputDirs = true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
task wrapper(type: Wrapper) {
|
||||||
|
gradleVersion = "2.3"
|
||||||
|
}
|
||||||
|
|
||||||
|
// WAILA
|
||||||
|
task installWaila(type: Copy, dependsOn: "deinstallWaila") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*Waila*dev.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallWaila(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Waila*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// JABBA
|
||||||
|
task installJabba(type: Copy, dependsOn: "deinstallJabba") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*Jabba*dev.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallJabba(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Jabba*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// ENDER STORAGE
|
||||||
|
task installEnderStorage(type: Copy, dependsOn: "deinstallEnderStorage") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*EnderStorage*dev.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallEnderStorage(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*EnderStorage*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TRANSLOCATOR
|
||||||
|
task installTranslocator(type: Copy, dependsOn: "deinstallTranslocator") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*Translocator*dev.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallTranslocator(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Translocator*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// INDUSTRIALCRAFT
|
||||||
|
task installIC2(type: Copy, dependsOn: "deinstallIC2") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*industrialcraft*dev.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallIC2(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*industrialcraft*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// ENDER IO
|
||||||
|
task installEnderIO(type: Copy, dependsOn: "deinstallEnderIO") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*EnderIO*dev.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallEnderIO(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*EnderIO*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TE
|
||||||
|
//task installTE(type: Copy, dependsOn: "deinstallTE") {
|
||||||
|
// from { configurations.mods }
|
||||||
|
// include "**/*CoFHLib*.jar"
|
||||||
|
// include "**/*CoFHCore*.jar"
|
||||||
|
// include "**/*ThermalFoundation*.jar"
|
||||||
|
// include "**/*ThermalExpansion*.jar"
|
||||||
|
//
|
||||||
|
// into file(minecraft.runDir + "/mods")
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//task deinstallTE(type: Delete) {
|
||||||
|
// delete fileTree(dir: minecraft.runDir + "/mods", includes: ["*CoFHLib*.jar", "*CoFHCore*.jar", "*ThermalFoundation*.jar", "*ThermalExpansion*.jar"])
|
||||||
|
//}
|
||||||
|
|
||||||
|
// INV TWEAKS
|
||||||
|
task installInvTweaks(type: Copy, dependsOn: "deinstallInvTweaks") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*InventoryTweaks*dev*.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallInvTweaks(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*InventoryTweaks*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// BETTER STORAGE
|
||||||
|
task installBetterStorage(type: Copy, dependsOn: "deinstallBetterStorage") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*BetterStorage*deobf*.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallBetterStorage(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*BetterStorage*.jar")
|
||||||
|
}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
// define the properties file
|
|
||||||
ext.configFile = file "build.properties"
|
|
||||||
|
|
||||||
configFile.withReader {
|
|
||||||
// read config. it shall from now on be referenced as simply config or as project.config
|
|
||||||
def prop = new Properties()
|
|
||||||
prop.load(it)
|
|
||||||
project.ext.config = new ConfigSlurper().parse prop
|
|
||||||
}
|
|
||||||
Vendored
BIN
Binary file not shown.
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
#Sat Sep 13 21:58:22 CEST 2014
|
#Sat May 02 19:28:20 CEST 2015
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip
|
||||||
|
|||||||
@@ -51,17 +51,17 @@ public enum AEApi
|
|||||||
|
|
||||||
HELD_API = (IAppEngApi) apiField.get( apiClass );
|
HELD_API = (IAppEngApi) apiField.get( apiClass );
|
||||||
}
|
}
|
||||||
catch ( ClassNotFoundException e )
|
catch( ClassNotFoundException e )
|
||||||
{
|
{
|
||||||
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FQN + " class, without it being declared." );
|
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FQN + " class, without it being declared." );
|
||||||
}
|
}
|
||||||
catch ( NoSuchFieldException e )
|
catch( NoSuchFieldException e )
|
||||||
{
|
{
|
||||||
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without it being declared." );
|
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without it being declared." );
|
||||||
}
|
}
|
||||||
catch ( IllegalAccessException e )
|
catch( IllegalAccessException e )
|
||||||
{
|
{
|
||||||
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without enough access permissions.");
|
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without enough access permissions." );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,8 @@ public enum AccessRestriction
|
|||||||
|
|
||||||
private final int permissionBit;
|
private final int permissionBit;
|
||||||
|
|
||||||
AccessRestriction( int v ) {
|
AccessRestriction( int v )
|
||||||
|
{
|
||||||
this.permissionBit = v;
|
this.permissionBit = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,19 +45,9 @@ public enum AccessRestriction
|
|||||||
return this.getPermByBit( this.permissionBit & ar.permissionBit );
|
return this.getPermByBit( this.permissionBit & ar.permissionBit );
|
||||||
}
|
}
|
||||||
|
|
||||||
public AccessRestriction addPermissions( AccessRestriction ar )
|
|
||||||
{
|
|
||||||
return this.getPermByBit( this.permissionBit | ar.permissionBit );
|
|
||||||
}
|
|
||||||
|
|
||||||
public AccessRestriction removePermissions( AccessRestriction ar )
|
|
||||||
{
|
|
||||||
return this.getPermByBit( this.permissionBit & ( ~ar.permissionBit ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
private AccessRestriction getPermByBit( int bit )
|
private AccessRestriction getPermByBit( int bit )
|
||||||
{
|
{
|
||||||
switch ( bit )
|
switch( bit )
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case 0:
|
case 0:
|
||||||
@@ -69,4 +60,14 @@ public enum AccessRestriction
|
|||||||
return READ_WRITE;
|
return READ_WRITE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public AccessRestriction addPermissions( AccessRestriction ar )
|
||||||
|
{
|
||||||
|
return this.getPermByBit( this.permissionBit | ar.permissionBit );
|
||||||
|
}
|
||||||
|
|
||||||
|
public AccessRestriction removePermissions( AccessRestriction ar )
|
||||||
|
{
|
||||||
|
return this.getPermByBit( this.permissionBit & ( ~ar.permissionBit ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -29,10 +29,11 @@ public enum FuzzyMode
|
|||||||
// Note that percentage damaged, is the inverse of percentage durability.
|
// Note that percentage damaged, is the inverse of percentage durability.
|
||||||
IGNORE_ALL( -1 ), PERCENT_99( 0 ), PERCENT_75( 25 ), PERCENT_50( 50 ), PERCENT_25( 75 );
|
IGNORE_ALL( -1 ), PERCENT_99( 0 ), PERCENT_75( 25 ), PERCENT_50( 50 ), PERCENT_25( 75 );
|
||||||
|
|
||||||
final public float breakPoint;
|
public final float breakPoint;
|
||||||
final public float percentage;
|
public final float percentage;
|
||||||
|
|
||||||
FuzzyMode( float p ) {
|
FuzzyMode( float p )
|
||||||
|
{
|
||||||
this.percentage = p;
|
this.percentage = p;
|
||||||
this.breakPoint = p / 100.0f;
|
this.breakPoint = p / 100.0f;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,19 +32,19 @@ public enum PowerUnits
|
|||||||
RF( "gui.appliedenergistics2.units.thermalexpansion" ), // ThermalExpansion - Redstone Flux
|
RF( "gui.appliedenergistics2.units.thermalexpansion" ), // ThermalExpansion - Redstone Flux
|
||||||
MK( "gui.appliedenergistics2.units.mekanism" ); // Mekanism - Joules
|
MK( "gui.appliedenergistics2.units.mekanism" ); // Mekanism - Joules
|
||||||
|
|
||||||
PowerUnits( String un ) {
|
/**
|
||||||
this.unlocalizedName = un;
|
* unlocalized name for the power unit.
|
||||||
}
|
*/
|
||||||
|
public final String unlocalizedName;
|
||||||
/**
|
/**
|
||||||
* please do not edit this value, it is set when AE loads its config files.
|
* please do not edit this value, it is set when AE loads its config files.
|
||||||
*/
|
*/
|
||||||
public double conversionRatio = 1.0;
|
public double conversionRatio = 1.0;
|
||||||
|
|
||||||
/**
|
PowerUnits( String un )
|
||||||
* unlocalized name for the power unit.
|
{
|
||||||
*/
|
this.unlocalizedName = un;
|
||||||
final public String unlocalizedName;
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* do power conversion using AE's conversion rates.
|
* do power conversion using AE's conversion rates.
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public enum SecurityPermissions
|
|||||||
*/
|
*/
|
||||||
SECURITY;
|
SECURITY;
|
||||||
|
|
||||||
final private String unlocalizedName = "gui.appliedenergistics2.security." + this.name().toLowerCase();
|
private final String unlocalizedName = "gui.appliedenergistics2.security." + this.name().toLowerCase();
|
||||||
|
|
||||||
public String getUnlocalizedName()
|
public String getUnlocalizedName()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ package appeng.api.config;
|
|||||||
|
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
|
||||||
public enum Settings
|
public enum Settings
|
||||||
@@ -55,18 +56,21 @@ public enum Settings
|
|||||||
|
|
||||||
STORAGE_FILTER( EnumSet.allOf( StorageFilter.class ) ), PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) );
|
STORAGE_FILTER( EnumSet.allOf( StorageFilter.class ) ), PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) );
|
||||||
|
|
||||||
private final EnumSet values;
|
private final EnumSet<? extends Enum<?>> values;
|
||||||
|
|
||||||
public EnumSet getPossibleValues()
|
Settings( @Nonnull EnumSet<? extends Enum<?>> possibleOptions )
|
||||||
|
{
|
||||||
|
if ( possibleOptions.isEmpty() )
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException( "Tried to instantiate an empty setting." );
|
||||||
|
}
|
||||||
|
|
||||||
|
this.values = possibleOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EnumSet<? extends Enum<?>> getPossibleValues()
|
||||||
{
|
{
|
||||||
return this.values;
|
return this.values;
|
||||||
}
|
}
|
||||||
|
|
||||||
Settings( EnumSet set )
|
|
||||||
{
|
|
||||||
if ( set == null || set.isEmpty() )
|
|
||||||
throw new RuntimeException( "Invalid configuration." );
|
|
||||||
this.values = set;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,13 +75,13 @@ public enum Upgrades
|
|||||||
/**
|
/**
|
||||||
* Registers a specific amount of this upgrade into a specific machine
|
* Registers a specific amount of this upgrade into a specific machine
|
||||||
*
|
*
|
||||||
* @param item machine in which this upgrade can be installed
|
* @param item machine in which this upgrade can be installed
|
||||||
* @param maxSupported amount how many upgrades can be installed
|
* @param maxSupported amount how many upgrades can be installed
|
||||||
*/
|
*/
|
||||||
public void registerItem( IItemDefinition item, int maxSupported )
|
public void registerItem( IItemDefinition item, int maxSupported )
|
||||||
{
|
{
|
||||||
final Optional<ItemStack> maybeStack = item.maybeStack( 1 );
|
final Optional<ItemStack> maybeStack = item.maybeStack( 1 );
|
||||||
for ( ItemStack stack : maybeStack.asSet() )
|
for( ItemStack stack : maybeStack.asSet() )
|
||||||
{
|
{
|
||||||
this.registerItem( stack, maxSupported );
|
this.registerItem( stack, maxSupported );
|
||||||
}
|
}
|
||||||
@@ -90,7 +90,21 @@ public enum Upgrades
|
|||||||
/**
|
/**
|
||||||
* Registers a specific amount of this upgrade into a specific machine
|
* Registers a specific amount of this upgrade into a specific machine
|
||||||
*
|
*
|
||||||
* @param item machine in which this upgrade can be installed
|
* @param stack machine in which this upgrade can be installed
|
||||||
|
* @param maxSupported amount how many upgrades can be installed
|
||||||
|
*/
|
||||||
|
public void registerItem( ItemStack stack, int maxSupported )
|
||||||
|
{
|
||||||
|
if( stack != null )
|
||||||
|
{
|
||||||
|
this.supportedMax.put( stack, maxSupported );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a specific amount of this upgrade into a specific machine
|
||||||
|
*
|
||||||
|
* @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
|
||||||
*
|
*
|
||||||
* @deprecated use {@link Upgrades#registerItem(IItemDefinition, int)}
|
* @deprecated use {@link Upgrades#registerItem(IItemDefinition, int)}
|
||||||
@@ -98,31 +112,17 @@ public enum Upgrades
|
|||||||
@Deprecated
|
@Deprecated
|
||||||
public void registerItem( AEItemDefinition item, int maxSupported )
|
public void registerItem( AEItemDefinition item, int maxSupported )
|
||||||
{
|
{
|
||||||
if ( item != null )
|
if( item != null )
|
||||||
{
|
{
|
||||||
final ItemStack stack = item.stack( 1 );
|
final ItemStack stack = item.stack( 1 );
|
||||||
|
|
||||||
if ( stack != null )
|
if( stack != null )
|
||||||
{
|
{
|
||||||
this.registerItem( stack, maxSupported );
|
this.registerItem( stack, maxSupported );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Registers a specific amount of this upgrade into a specific machine
|
|
||||||
*
|
|
||||||
* @param stack machine in which this upgrade can be installed
|
|
||||||
* @param maxSupported amount how many upgrades can be installed
|
|
||||||
*/
|
|
||||||
public void registerItem( ItemStack stack, int maxSupported )
|
|
||||||
{
|
|
||||||
if ( stack != null )
|
|
||||||
{
|
|
||||||
this.supportedMax.put( stack, maxSupported );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getTier()
|
public int getTier()
|
||||||
{
|
{
|
||||||
return this.tier;
|
return this.tier;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package appeng.api.definitions;
|
|||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.item.ItemBlock;
|
import net.minecraft.item.ItemBlock;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
import com.google.common.base.Optional;
|
||||||
|
|
||||||
@@ -18,4 +19,16 @@ public interface IBlockDefinition extends IItemDefinition
|
|||||||
* @return the {@link ItemBlock} implementation if applicable
|
* @return the {@link ItemBlock} implementation if applicable
|
||||||
*/
|
*/
|
||||||
Optional<ItemBlock> maybeItemBlock();
|
Optional<ItemBlock> maybeItemBlock();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compare Block with world.
|
||||||
|
*
|
||||||
|
* @param world world of block
|
||||||
|
* @param x x pos of block
|
||||||
|
* @param y y pos of block
|
||||||
|
* @param z z pos of block
|
||||||
|
*
|
||||||
|
* @return if the block is placed in the world at the specific location.
|
||||||
|
*/
|
||||||
|
boolean isSameAs( IBlockAccess world, int x, int y, int z );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ import net.minecraft.world.IBlockAccess;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface to compare a definition with an itemstack or a block
|
* Interface to compare a definition with an itemstack or a block
|
||||||
|
*
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv2
|
||||||
|
* @since rv2
|
||||||
*/
|
*/
|
||||||
public interface IComparableDefinition
|
public interface IComparableDefinition
|
||||||
{
|
{
|
||||||
@@ -14,6 +18,7 @@ public interface IComparableDefinition
|
|||||||
* Compare {@link ItemStack} with this
|
* Compare {@link ItemStack} with this
|
||||||
*
|
*
|
||||||
* @param comparableStack compared item
|
* @param comparableStack compared item
|
||||||
|
*
|
||||||
* @return true if the item stack is a matching item.
|
* @return true if the item stack is a matching item.
|
||||||
*/
|
*/
|
||||||
boolean isSameAs( ItemStack comparableStack );
|
boolean isSameAs( ItemStack comparableStack );
|
||||||
@@ -22,11 +27,14 @@ public interface IComparableDefinition
|
|||||||
* Compare Block with world.
|
* Compare Block with world.
|
||||||
*
|
*
|
||||||
* @param world world of block
|
* @param world world of block
|
||||||
* @param x x pos of block
|
* @param x x pos of block
|
||||||
* @param y y pos of block
|
* @param y y pos of block
|
||||||
* @param z z pos of block
|
* @param z z pos of block
|
||||||
*
|
*
|
||||||
* @return if the block is placed in the world at the specific location.
|
* @return if the block is placed in the world at the specific location.
|
||||||
|
*
|
||||||
|
* @deprecated moved to {@link IBlockDefinition}. Is removed in the next major release rv3
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
boolean isSameAs( IBlockAccess world, int x, int y, int z );
|
boolean isSameAs( IBlockAccess world, int x, int y, int z );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,5 +17,5 @@ public interface IItemDefinition extends IComparableDefinition
|
|||||||
/**
|
/**
|
||||||
* @return an {@link ItemStack} with specified quantity of this item.
|
* @return an {@link ItemStack} with specified quantity of this item.
|
||||||
*/
|
*/
|
||||||
Optional<ItemStack> maybeStack(int stackSize);
|
Optional<ItemStack> maybeStack( int stackSize );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,25 +31,24 @@ import appeng.api.features.ILocatable;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Event:
|
* Input Event:
|
||||||
*
|
*
|
||||||
* Used to Notify the Location Registry of objects, and their availability.
|
* Used to Notify the Location Registry of objects, and their availability.
|
||||||
*/
|
*/
|
||||||
public class LocatableEventAnnounce extends Event
|
public class LocatableEventAnnounce extends Event
|
||||||
{
|
{
|
||||||
|
|
||||||
public enum LocatableEvent
|
public final ILocatable target;
|
||||||
{
|
public final LocatableEvent change;
|
||||||
Register, // Adds the locatable to the registry
|
|
||||||
Unregister // Removes the locatable from the registry
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
final public ILocatable target;
|
|
||||||
final public LocatableEvent change;
|
|
||||||
|
|
||||||
public LocatableEventAnnounce( ILocatable o, LocatableEvent ev )
|
public LocatableEventAnnounce( ILocatable o, LocatableEvent ev )
|
||||||
{
|
{
|
||||||
this.target = o;
|
this.target = o;
|
||||||
this.change = ev;
|
this.change = ev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum LocatableEvent
|
||||||
|
{
|
||||||
|
Register, // Adds the locatable to the registry
|
||||||
|
Unregister // Removes the locatable from the registry
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,13 @@ public interface IGrinderEntry
|
|||||||
*/
|
*/
|
||||||
ItemStack getOutput();
|
ItemStack getOutput();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* allows you to change the output.
|
||||||
|
*
|
||||||
|
* @param output output item
|
||||||
|
*/
|
||||||
|
void setOutput( ItemStack output );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gets the current output
|
* gets the current output
|
||||||
*
|
*
|
||||||
@@ -68,13 +75,6 @@ public interface IGrinderEntry
|
|||||||
*/
|
*/
|
||||||
ItemStack getSecondOptionalOutput();
|
ItemStack getSecondOptionalOutput();
|
||||||
|
|
||||||
/**
|
|
||||||
* allows you to change the output.
|
|
||||||
*
|
|
||||||
* @param output output item
|
|
||||||
*/
|
|
||||||
void setOutput( ItemStack output );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* stack, and 0.0-1.0 chance that it will be generated.
|
* stack, and 0.0-1.0 chance that it will be generated.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ public interface IGrinderRegistry
|
|||||||
/**
|
/**
|
||||||
* add a new recipe the easy way, in → out, how many turns., duplicates will not be added.
|
* add a new recipe the easy way, in → out, how many turns., duplicates will not be added.
|
||||||
*
|
*
|
||||||
* @param in input
|
* @param in input
|
||||||
* @param out output
|
* @param out output
|
||||||
* @param turns amount of turns to turn the input into the output
|
* @param turns amount of turns to turn the input into the output
|
||||||
*/
|
*/
|
||||||
void addRecipe( ItemStack in, ItemStack out, int turns );
|
void addRecipe( ItemStack in, ItemStack out, int turns );
|
||||||
@@ -54,8 +54,8 @@ public interface IGrinderRegistry
|
|||||||
/**
|
/**
|
||||||
* add a new recipe with optional outputs, duplicates will not be added.
|
* add a new recipe with optional outputs, duplicates will not be added.
|
||||||
*
|
*
|
||||||
* @param in input
|
* @param in input
|
||||||
* @param out output
|
* @param out output
|
||||||
* @param optional optional output
|
* @param optional optional output
|
||||||
* @param chance chance to get the optional output within 0.0 - 1.0
|
* @param chance chance to get the optional output within 0.0 - 1.0
|
||||||
* @param turns amount of turns to turn the input into the outputs
|
* @param turns amount of turns to turn the input into the outputs
|
||||||
@@ -64,11 +64,11 @@ public interface IGrinderRegistry
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* add a new recipe with optional outputs, duplicates will not be added.
|
* add a new recipe with optional outputs, duplicates will not be added.
|
||||||
*
|
*
|
||||||
* @param in input
|
* @param in input
|
||||||
* @param out output
|
* @param out output
|
||||||
* @param optional optional output
|
* @param optional optional output
|
||||||
* @param chance chance to get the optional output within 0.0 - 1.0
|
* @param chance chance to get the optional output within 0.0 - 1.0
|
||||||
* @param optional2 second optional output
|
* @param optional2 second optional output
|
||||||
* @param chance2 chance to get the second optional output within 0.0 - 1.0
|
* @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 outputs
|
* @param turns amount of turns to turn the input into the outputs
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
import com.google.common.base.Optional;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registration Records for {@link IInscriberRegistry}
|
||||||
|
*
|
||||||
|
* You have to pay attention though, that recipes are not mirrored,
|
||||||
|
* where the top and bottom slots are switching places.
|
||||||
|
*
|
||||||
|
* This is applied on runtime.
|
||||||
|
*
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv2
|
||||||
|
* @since rv2
|
||||||
|
*/
|
||||||
|
public interface IInscriberRecipe
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* the current inputs
|
||||||
|
*
|
||||||
|
* @return inputs the inscriber will accept
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
List<ItemStack> getInputs();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets the current output
|
||||||
|
*
|
||||||
|
* @return output that the recipe will produce
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
ItemStack getOutput();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets the top optional
|
||||||
|
*
|
||||||
|
* @return item which is used top
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Optional<ItemStack> getTopOptional();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets the bottom optional
|
||||||
|
*
|
||||||
|
* @return item which is used bottom
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Optional<ItemStack> getBottomOptional();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* type of inscriber process
|
||||||
|
*
|
||||||
|
* @return type of process the inscriber is doing
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
InscriberProcessType getProcessType();
|
||||||
|
}
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builder for an inscriber recipe
|
||||||
|
*
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv2
|
||||||
|
* @since rv2
|
||||||
|
*/
|
||||||
|
public interface IInscriberRecipeBuilder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with inputs.
|
||||||
|
* Needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param inputs new inputs for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withInputs( @Nonnull Collection<ItemStack> inputs );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with output.
|
||||||
|
* Needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param output new output for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withOutput( @Nonnull ItemStack output );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with top.
|
||||||
|
* Either this or bot needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param topOptional new top for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withTopOptional( @Nonnull ItemStack topOptional );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with bot.
|
||||||
|
* Either this or top needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param bottomOptional new bot for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withBottomOptional( @Nonnull ItemStack bottomOptional );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with type.
|
||||||
|
* Needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param type new type for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withProcessType( @Nonnull InscriberProcessType type );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finalizes the process of making the recipe.
|
||||||
|
* Needs to be invoked to fetch inscriber recipe.
|
||||||
|
*
|
||||||
|
* @return legal inscriber recipe
|
||||||
|
*
|
||||||
|
* @throws IllegalStateException when input is not defined
|
||||||
|
* @throws IllegalStateException when input has no size
|
||||||
|
* @throws IllegalStateException when output is not defined
|
||||||
|
* @throws IllegalStateException when both optionals are not defined
|
||||||
|
* @throws IllegalStateException when process type is not defined
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipe build();
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lets you manipulate Inscriber Recipes, by adding or editing existing ones.
|
||||||
|
*
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv2
|
||||||
|
* @since rv2
|
||||||
|
*/
|
||||||
|
public interface IInscriberRegistry
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Current list of registered recipes, you can modify this if you want too.
|
||||||
|
* Will never contain a null recipe
|
||||||
|
*
|
||||||
|
* @return currentlyRegisteredRecipes
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
List<IInscriberRecipe> getRecipes();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optional items which are used in the top or bottom slot
|
||||||
|
*
|
||||||
|
* @return set of all optional items
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Set<ItemStack> getOptionals();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all registered items which are valid inputs
|
||||||
|
*
|
||||||
|
* @return set of all input items
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Set<ItemStack> getInputs();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
* Added recipes will be automatically added to the optionals and inputs.
|
||||||
|
*
|
||||||
|
* @param recipe new recipe
|
||||||
|
*
|
||||||
|
* @throws IllegalArgumentException if null is added
|
||||||
|
*/
|
||||||
|
void addRecipe( IInscriberRecipe recipe );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a recipe from the registry
|
||||||
|
*
|
||||||
|
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense
|
||||||
|
*/
|
||||||
|
void removeRecipe( IInscriberRecipe toBeRemovedRecipe );
|
||||||
|
}
|
||||||
@@ -32,8 +32,8 @@ public interface IMatterCannonAmmoRegistry
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* register a new ammo, generally speaking this is based off of atomic weight to make it easier to guess at
|
* register a new ammo, generally speaking this is based off of atomic weight to make it easier to guess at
|
||||||
*
|
*
|
||||||
* @param ammo new ammo
|
* @param ammo new ammo
|
||||||
* @param weight atomic weight
|
* @param weight atomic weight
|
||||||
*/
|
*/
|
||||||
void registerAmmo( ItemStack ammo, double weight );
|
void registerAmmo( ItemStack ammo, double weight );
|
||||||
|
|||||||
@@ -41,13 +41,10 @@ public interface INetworkEncodable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Encode the wireless frequency via the Controller.
|
* Encode the wireless frequency via the Controller.
|
||||||
*
|
*
|
||||||
* @param item
|
* @param item the wireless terminal.
|
||||||
* the wireless terminal.
|
* @param encKey the wireless encryption key.
|
||||||
* @param encKey
|
* @param name null for now.
|
||||||
* the wireless encryption key.
|
|
||||||
* @param name
|
|
||||||
* null for now.
|
|
||||||
*/
|
*/
|
||||||
void setEncryptionKey( ItemStack item, String encKey, String name );
|
void setEncryptionKey( ItemStack item, String encKey, String name );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,11 +38,9 @@ public interface IP2PTunnelRegistry
|
|||||||
/**
|
/**
|
||||||
* Allows third parties to register items from their mod as potential
|
* Allows third parties to register items from their mod as potential
|
||||||
* attunements for AE's P2P Tunnels
|
* attunements for AE's P2P Tunnels
|
||||||
*
|
*
|
||||||
* @param trigger
|
* @param trigger - the item which triggers attunement
|
||||||
* - the item which triggers attunement
|
* @param type - the type of tunnel
|
||||||
* @param type
|
|
||||||
* - the type of tunnel
|
|
||||||
*/
|
*/
|
||||||
void addNewAttunement( ItemStack trigger, TunnelType type );
|
void addNewAttunement( ItemStack trigger, TunnelType type );
|
||||||
|
|
||||||
|
|||||||
@@ -34,17 +34,17 @@ public interface IRecipeHandlerRegistry
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a new Recipe Handler to the parser.
|
* Add a new Recipe Handler to the parser.
|
||||||
*
|
*
|
||||||
* MUST BE CALLED IN PRE-INIT
|
* MUST BE CALLED IN PRE-INIT
|
||||||
*
|
*
|
||||||
* @param name name of crafthandler
|
* @param name name of crafthandler
|
||||||
* @param handler class of crafthandler
|
* @param handler class of crafthandler
|
||||||
*/
|
*/
|
||||||
void addNewCraftHandler( String name, Class<? extends ICraftHandler> handler );
|
void addNewCraftHandler( String name, Class<? extends ICraftHandler> handler );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a new resolver to the parser.
|
* Add a new resolver to the parser.
|
||||||
*
|
*
|
||||||
* MUST BE CALLED IN PRE-INIT
|
* MUST BE CALLED IN PRE-INIT
|
||||||
*
|
*
|
||||||
* @param sir sub item resolver
|
* @param sir sub item resolver
|
||||||
|
|||||||
@@ -30,6 +30,12 @@ import appeng.api.storage.ICellRegistry;
|
|||||||
import appeng.api.storage.IExternalStorageRegistry;
|
import appeng.api.storage.IExternalStorageRegistry;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author AlgorithmX2
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv2
|
||||||
|
* @since rv0
|
||||||
|
*/
|
||||||
public interface IRegistryContainer
|
public interface IRegistryContainer
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -69,6 +75,11 @@ public interface IRegistryContainer
|
|||||||
*/
|
*/
|
||||||
IGrinderRegistry grinder();
|
IGrinderRegistry grinder();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manage inscriber recipes via API
|
||||||
|
*/
|
||||||
|
IInscriberRegistry inscriber();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get access to the locatable registry
|
* get access to the locatable registry
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -45,11 +45,11 @@ public interface IWirelessTermHandler extends INetworkEncodable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* use an amount of power, in AE units
|
* use an amount of power, in AE units
|
||||||
*
|
*
|
||||||
* @param amount
|
* @param amount is in AE units ( 5 per MJ ), if you return false, the item should be dead and return false for
|
||||||
* 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 );
|
||||||
|
|||||||
@@ -31,11 +31,6 @@ import net.minecraft.world.WorldProvider;
|
|||||||
public interface IWorldGen
|
public interface IWorldGen
|
||||||
{
|
{
|
||||||
|
|
||||||
enum WorldGenType
|
|
||||||
{
|
|
||||||
CertusQuartz, ChargedCertusQuartz, Meteorites
|
|
||||||
}
|
|
||||||
|
|
||||||
void disableWorldGenForProviderID( WorldGenType type, Class<? extends WorldProvider> provider );
|
void disableWorldGenForProviderID( WorldGenType type, Class<? extends WorldProvider> provider );
|
||||||
|
|
||||||
void enableWorldGenForDimension( WorldGenType type, int dimID );
|
void enableWorldGenForDimension( WorldGenType type, int dimID );
|
||||||
@@ -43,4 +38,9 @@ public interface IWorldGen
|
|||||||
void disableWorldGenForDimension( WorldGenType type, int dimID );
|
void disableWorldGenForDimension( WorldGenType type, int dimID );
|
||||||
|
|
||||||
boolean isWorldGenEnabled( WorldGenType type, World w );
|
boolean isWorldGenEnabled( WorldGenType type, World w );
|
||||||
|
|
||||||
|
enum WorldGenType
|
||||||
|
{
|
||||||
|
CertusQuartz, ChargedCertusQuartz, Meteorites
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
|
public enum InscriberProcessType
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* uses the optionals as catalyst
|
||||||
|
*/
|
||||||
|
Inscribe,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* spends the optionals
|
||||||
|
*/
|
||||||
|
Press
|
||||||
|
}
|
||||||
@@ -66,16 +66,16 @@ public interface IBiometricCard
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* remove a permission from the item stack.
|
* remove a permission from the item stack.
|
||||||
*
|
*
|
||||||
* @param itemStack card
|
* @param itemStack card
|
||||||
* @param permission to be removed permission
|
* @param permission to be removed permission
|
||||||
*/
|
*/
|
||||||
void removePermission( ItemStack itemStack, SecurityPermissions permission );
|
void removePermission( ItemStack itemStack, SecurityPermissions permission );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add a permission to the item stack.
|
* add a permission to the item stack.
|
||||||
*
|
*
|
||||||
* @param itemStack card
|
* @param itemStack card
|
||||||
* @param permission to be added permission
|
* @param permission to be added permission
|
||||||
*/
|
*/
|
||||||
void addPermission( ItemStack itemStack, SecurityPermissions permission );
|
void addPermission( ItemStack itemStack, SecurityPermissions permission );
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Memory Card API
|
* Memory Card API
|
||||||
*
|
*
|
||||||
* AE's Memory Card Item Class implements this interface.
|
* AE's Memory Card Item Class implements this interface.
|
||||||
*/
|
*/
|
||||||
public interface IMemoryCard
|
public interface IMemoryCard
|
||||||
@@ -40,14 +40,12 @@ 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.
|
||||||
*
|
*
|
||||||
* @param is item
|
* @param is item
|
||||||
* @param SettingsName
|
* @param SettingsName unlocalized string that represents the tile entity.
|
||||||
* unlocalized string that represents the tile entity.
|
* @param data may contain a String called "tooltip" which is is a
|
||||||
* @param data
|
* unlocalized string displayed after the settings name, optional
|
||||||
* may contain a String called "tooltip" which is is a
|
* but can be used to add details to the card for later.
|
||||||
* 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 );
|
||||||
|
|
||||||
@@ -72,11 +70,9 @@ public interface IMemoryCard
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* notify the user of a outcome related to the memory card.
|
* notify the user of a outcome related to the memory card.
|
||||||
*
|
*
|
||||||
* @param player
|
* @param player that used the card.
|
||||||
* that used the card.
|
* @param msg which message to send.
|
||||||
* @param msg
|
|
||||||
* which message to send.
|
|
||||||
*/
|
*/
|
||||||
void notifyUser( EntityPlayer player, MemoryCardMessages msg );
|
void notifyUser( EntityPlayer player, MemoryCardMessages msg );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,11 +88,11 @@ public interface ISpatialStorageCell
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* @param is spatial storage cell
|
* @param is spatial storage cell
|
||||||
* @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 doTransition transition
|
* @param doTransition transition
|
||||||
*
|
*
|
||||||
* @return result of transition
|
* @return result of transition
|
||||||
|
|||||||
@@ -34,10 +34,10 @@ import appeng.api.storage.data.IAEItemStack;
|
|||||||
* Any item which implements this can be treated as an IMEInventory via
|
* Any item which implements this can be treated as an IMEInventory via
|
||||||
* Util.getCell / Util.isCell It automatically handles the internals and NBT
|
* Util.getCell / Util.isCell It automatically handles the internals and NBT
|
||||||
* data, which is both nice, and bad for you!
|
* data, which is both nice, and bad for you!
|
||||||
*
|
*
|
||||||
* Good cause it means you don't have to do anything, bad because you have
|
* Good cause it means you don't have to do anything, bad because you have
|
||||||
* little to no control over it.
|
* little to no control over it.
|
||||||
*
|
*
|
||||||
* The standard AE implementation only provides 1-63 Types
|
* The standard AE implementation only provides 1-63 Types
|
||||||
*/
|
*/
|
||||||
public interface IStorageCell extends ICellWorkbenchItem
|
public interface IStorageCell extends ICellWorkbenchItem
|
||||||
@@ -59,9 +59,21 @@ public interface IStorageCell extends ICellWorkbenchItem
|
|||||||
* @param cellItem item
|
* @param cellItem item
|
||||||
*
|
*
|
||||||
* @return number of bytes
|
* @return number of bytes
|
||||||
|
*
|
||||||
|
* @deprecated use {@link IStorageCell#getBytesPerType(ItemStack)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
int BytePerType( ItemStack cellItem );
|
int BytePerType( ItemStack cellItem );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines the number of bytes used for any type included on the cell.
|
||||||
|
*
|
||||||
|
* @param cellItem item
|
||||||
|
*
|
||||||
|
* @return number of bytes
|
||||||
|
*/
|
||||||
|
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
|
||||||
* the item.
|
* the item.
|
||||||
@@ -76,8 +88,8 @@ public interface IStorageCell extends ICellWorkbenchItem
|
|||||||
* 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
|
||||||
* don't care, just return false; As the handler for this type of cell is
|
* don't care, just return false; As the handler for this type of cell is
|
||||||
* still the default cells, the normal AE black list is also applied.
|
* still the default cells, the normal AE black list is also applied.
|
||||||
*
|
*
|
||||||
* @param cellItem item
|
* @param cellItem item
|
||||||
* @param requestedAddition requested addition
|
* @param requestedAddition requested addition
|
||||||
*
|
*
|
||||||
* @return true to preventAdditionOfItem
|
* @return true to preventAdditionOfItem
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public interface IPartCable extends IPart, IGridHost
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Change sides on the cables node.
|
* Change sides on the cables node.
|
||||||
*
|
*
|
||||||
* Called by AE, do not invoke.
|
* Called by AE, do not invoke.
|
||||||
*
|
*
|
||||||
* @param sides sides of cable
|
* @param sides sides of cable
|
||||||
|
|||||||
@@ -23,10 +23,12 @@
|
|||||||
|
|
||||||
package appeng.api.implementations.tiles;
|
package appeng.api.implementations.tiles;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridHost;
|
import appeng.api.networking.IGridHost;
|
||||||
import appeng.api.storage.ICellContainer;
|
import appeng.api.storage.ICellContainer;
|
||||||
import appeng.api.util.IOrientable;
|
import appeng.api.util.IOrientable;
|
||||||
|
|
||||||
|
|
||||||
public interface IChestOrDrive extends ICellContainer, IGridHost, IOrientable
|
public interface IChestOrDrive extends ICellContainer, IGridHost, IOrientable
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -45,9 +47,10 @@ public interface IChestOrDrive extends ICellContainer, IGridHost, IOrientable
|
|||||||
* 3 - red
|
* 3 - red
|
||||||
*
|
*
|
||||||
* @param slot slot index
|
* @param slot slot index
|
||||||
|
*
|
||||||
* @return status of the slot, one of the above indices.
|
* @return status of the slot, one of the above indices.
|
||||||
*/
|
*/
|
||||||
int getCellStatus(int slot);
|
int getCellStatus( int slot );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return if the device is online you should check this before providing any other information.
|
* @return if the device is online you should check this before providing any other information.
|
||||||
@@ -56,8 +59,8 @@ public interface IChestOrDrive extends ICellContainer, IGridHost, IOrientable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param slot slot index
|
* @param slot slot index
|
||||||
|
*
|
||||||
* @return is the cell currently blinking to show activity.
|
* @return is the cell currently blinking to show activity.
|
||||||
*/
|
*/
|
||||||
boolean isCellBlinking(int slot);
|
boolean isCellBlinking( int slot );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,19 +29,20 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
|
|
||||||
import appeng.api.networking.crafting.ICraftingPatternDetails;
|
import appeng.api.networking.crafting.ICraftingPatternDetails;
|
||||||
|
|
||||||
|
|
||||||
public interface ICraftingMachine
|
public interface ICraftingMachine
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* inserts a crafting plan, and the necessary items into the crafting machine.
|
* inserts a crafting plan, and the necessary items into the crafting machine.
|
||||||
*
|
*
|
||||||
* @param patternDetails details of pattern
|
* @param patternDetails details of pattern
|
||||||
* @param table crafting table
|
* @param table crafting table
|
||||||
* @param ejectionDirection ejection direction
|
* @param ejectionDirection ejection direction
|
||||||
*
|
*
|
||||||
* @return if it was accepted, all or nothing.
|
* @return if it was accepted, all or nothing.
|
||||||
*/
|
*/
|
||||||
boolean pushPattern(ICraftingPatternDetails patternDetails, InventoryCrafting table, ForgeDirection ejectionDirection);
|
boolean pushPattern( ICraftingPatternDetails patternDetails, InventoryCrafting table, ForgeDirection ejectionDirection );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* check if the crafting machine is accepting pushes via pushPattern, if this is false, all calls to push will fail,
|
* check if the crafting machine is accepting pushes via pushPattern, if this is false, all calls to push will fail,
|
||||||
@@ -50,5 +51,4 @@ public interface ICraftingMachine
|
|||||||
* @return true, if pushPattern can complete, if its false push will always be false.
|
* @return true, if pushPattern can complete, if its false push will always be false.
|
||||||
*/
|
*/
|
||||||
boolean acceptsPlans();
|
boolean acceptsPlans();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.implementations.tiles;
|
package appeng.api.implementations.tiles;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Crank/Crankable API,
|
* Crank/Crankable API,
|
||||||
*
|
*
|
||||||
@@ -53,6 +55,5 @@ public interface ICrankable
|
|||||||
/**
|
/**
|
||||||
* @return true if the crank can attach on the given side.
|
* @return true if the crank can attach on the given side.
|
||||||
*/
|
*/
|
||||||
boolean canCrankAttach(ForgeDirection directionToCrank);
|
boolean canCrankAttach( ForgeDirection directionToCrank );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
package appeng.api.integration;
|
package appeng.api.integration;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An interface to get access to the individual settings for AE's Internal Bee
|
* An interface to get access to the individual settings for AE's Internal Bee
|
||||||
* Comparison handler.
|
* Comparison handler.
|
||||||
@@ -39,5 +40,4 @@ public interface IBeeComparison
|
|||||||
* @return the Forestry IIndividual for this comparison object - cast this to a IIndividual if you want to use it.
|
* @return the Forestry IIndividual for this comparison object - cast this to a IIndividual if you want to use it.
|
||||||
*/
|
*/
|
||||||
Object getIndividual();
|
Object getIndividual();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,9 +23,11 @@
|
|||||||
|
|
||||||
package appeng.api.movable;
|
package appeng.api.movable;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
|
||||||
public interface IMovableHandler
|
public interface IMovableHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -34,10 +36,11 @@ public interface IMovableHandler
|
|||||||
* that single entity, you cannot opt out of single entities.
|
* that single entity, you cannot opt out of single entities.
|
||||||
*
|
*
|
||||||
* @param myClass tile entity class
|
* @param myClass tile entity class
|
||||||
* @param tile tile entity
|
* @param tile tile entity
|
||||||
|
*
|
||||||
* @return true if it can handle moving
|
* @return true if it can handle moving
|
||||||
*/
|
*/
|
||||||
boolean canHandle(Class<? extends TileEntity> myClass, TileEntity tile);
|
boolean canHandle( Class<? extends TileEntity> myClass, TileEntity tile );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* request that the handler move the the tile from its current location to
|
* request that the handler move the the tile from its current location to
|
||||||
@@ -56,12 +59,11 @@ public interface IMovableHandler
|
|||||||
* }
|
* }
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @param tile to be moved tile
|
* @param tile to be moved tile
|
||||||
* @param world world of tile
|
* @param world world of tile
|
||||||
* @param x x coord of tile
|
* @param x x coord of tile
|
||||||
* @param y y coord of tile
|
* @param y y coord of tile
|
||||||
* @param z z coord of tile
|
* @param z z coord of tile
|
||||||
*/
|
*/
|
||||||
void moveTile(TileEntity tile, World world, int x, int y, int z);
|
void moveTile( TileEntity tile, World world, int x, int y, int z );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,9 +23,11 @@
|
|||||||
|
|
||||||
package appeng.api.movable;
|
package appeng.api.movable;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to determine if a tile is marked as movable, a block will be considered movable, if...
|
* Used to determine if a tile is marked as movable, a block will be considered movable, if...
|
||||||
*
|
*
|
||||||
@@ -64,7 +66,7 @@ public interface IMovableRegistry
|
|||||||
*
|
*
|
||||||
* @param blk block
|
* @param blk block
|
||||||
*/
|
*/
|
||||||
void blacklistBlock(Block blk);
|
void blacklistBlock( Block blk );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* White list your tile entity with the registry.
|
* White list your tile entity with the registry.
|
||||||
@@ -74,27 +76,28 @@ public interface IMovableRegistry
|
|||||||
*
|
*
|
||||||
* If you tile is handled with IMovableHandler or IMovableTile you do not need to white list it.
|
* If you tile is handled with IMovableHandler or IMovableTile you do not need to white list it.
|
||||||
*/
|
*/
|
||||||
void whiteListTileEntity(Class<? extends TileEntity> c);
|
void whiteListTileEntity( Class<? extends TileEntity> c );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param te to be moved tile entity
|
* @param te to be moved tile entity
|
||||||
|
*
|
||||||
* @return true if the tile has accepted your request to move it
|
* @return true if the tile has accepted your request to move it
|
||||||
*/
|
*/
|
||||||
boolean askToMove(TileEntity te);
|
boolean askToMove( TileEntity te );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tells the tile you are done moving it.
|
* tells the tile you are done moving it.
|
||||||
*
|
*
|
||||||
* @param te moved tile entity
|
* @param te moved tile entity
|
||||||
*/
|
*/
|
||||||
void doneMoving(TileEntity te);
|
void doneMoving( TileEntity te );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add a new handler movable handler.
|
* add a new handler movable handler.
|
||||||
*
|
*
|
||||||
* @param handler moving handler
|
* @param handler moving handler
|
||||||
*/
|
*/
|
||||||
void addHandler(IMovableHandler handler);
|
void addHandler( IMovableHandler handler );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* handlers are used to perform movement, this allows you to override AE's internal version.
|
* handlers are used to perform movement, this allows you to override AE's internal version.
|
||||||
@@ -102,9 +105,10 @@ public interface IMovableRegistry
|
|||||||
* only valid after askToMove(...) = true
|
* only valid after askToMove(...) = true
|
||||||
*
|
*
|
||||||
* @param te tile entity
|
* @param te tile entity
|
||||||
|
*
|
||||||
* @return moving handler of tile entity
|
* @return moving handler of tile entity
|
||||||
*/
|
*/
|
||||||
IMovableHandler getHandler(TileEntity te);
|
IMovableHandler getHandler( TileEntity te );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return a copy of the default handler
|
* @return a copy of the default handler
|
||||||
@@ -113,8 +117,8 @@ public interface IMovableRegistry
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param blk block
|
* @param blk block
|
||||||
|
*
|
||||||
* @return true if this block is blacklisted
|
* @return true if this block is blacklisted
|
||||||
*/
|
*/
|
||||||
boolean isBlacklisted(Block blk);
|
boolean isBlacklisted( Block blk );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,9 +23,11 @@
|
|||||||
|
|
||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.events.MENetworkEvent;
|
import appeng.api.networking.events.MENetworkEvent;
|
||||||
import appeng.api.util.IReadOnlyCollection;
|
import appeng.api.util.IReadOnlyCollection;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gives you access to Grid based information.
|
* Gives you access to Grid based information.
|
||||||
*
|
*
|
||||||
@@ -38,6 +40,7 @@ public interface IGrid
|
|||||||
* Get Access to various grid modules
|
* Get Access to various grid modules
|
||||||
*
|
*
|
||||||
* @param iface face
|
* @param iface face
|
||||||
|
*
|
||||||
* @return the IGridCache you requested.
|
* @return the IGridCache you requested.
|
||||||
*/
|
*/
|
||||||
<C extends IGridCache> C getCache( Class<? extends IGridCache> iface );
|
<C extends IGridCache> C getCache( Class<? extends IGridCache> iface );
|
||||||
@@ -45,8 +48,8 @@ public interface IGrid
|
|||||||
/**
|
/**
|
||||||
* Post an event into the network event bus.
|
* Post an event into the network event bus.
|
||||||
*
|
*
|
||||||
* @param ev
|
* @param ev - event to post
|
||||||
* - event to post
|
*
|
||||||
* @return returns ev back to original poster
|
* @return returns ev back to original poster
|
||||||
*/
|
*/
|
||||||
MENetworkEvent postEvent( MENetworkEvent ev );
|
MENetworkEvent postEvent( MENetworkEvent ev );
|
||||||
@@ -54,8 +57,8 @@ public interface IGrid
|
|||||||
/**
|
/**
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* @param ev
|
* @param ev event to post
|
||||||
* event to post
|
*
|
||||||
* @return returns ev back to original poster
|
* @return returns ev back to original poster
|
||||||
*/
|
*/
|
||||||
MENetworkEvent postEventTo( IGridNode node, MENetworkEvent ev );
|
MENetworkEvent postEventTo( IGridNode node, MENetworkEvent ev );
|
||||||
@@ -72,6 +75,7 @@ public interface IGrid
|
|||||||
* Get machines on the network.
|
* Get machines on the network.
|
||||||
*
|
*
|
||||||
* @param gridHostClass class of the grid host
|
* @param gridHostClass class of the grid host
|
||||||
|
*
|
||||||
* @return IMachineSet of all nodes belonging to hosts of specified class.
|
* @return IMachineSet of all nodes belonging to hosts of specified class.
|
||||||
*/
|
*/
|
||||||
IMachineSet getMachines( Class<? extends IGridHost> gridHostClass );
|
IMachineSet getMachines( Class<? extends IGridHost> gridHostClass );
|
||||||
@@ -90,5 +94,4 @@ public interface IGrid
|
|||||||
* @return the node considered the pivot point of the grid.
|
* @return the node considered the pivot point of the grid.
|
||||||
*/
|
*/
|
||||||
IGridNode getPivot();
|
IGridNode getPivot();
|
||||||
|
}
|
||||||
}
|
|
||||||
@@ -33,6 +33,7 @@ import appeng.api.parts.IPart;
|
|||||||
import appeng.api.util.AEColor;
|
import appeng.api.util.AEColor;
|
||||||
import appeng.api.util.DimensionalCoord;
|
import appeng.api.util.DimensionalCoord;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An Implementation is required to create your node for IGridHost
|
* An Implementation is required to create your node for IGridHost
|
||||||
*
|
*
|
||||||
@@ -79,12 +80,12 @@ public interface IGridBlock
|
|||||||
/**
|
/**
|
||||||
* Notifies your IGridBlock that changes were made to your connections
|
* Notifies your IGridBlock that changes were made to your connections
|
||||||
*/
|
*/
|
||||||
void onGridNotification(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
|
||||||
*/
|
*/
|
||||||
void setNetworkStatus( IGrid grid, int channelsInUse );
|
void setNetworkStatus( IGrid grid, int channelsInUse );
|
||||||
|
|||||||
@@ -23,14 +23,13 @@
|
|||||||
|
|
||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* Any Class that implements this, should have a public default constructor that
|
* Any Class that implements this, should have a public default constructor that
|
||||||
* takes a single argument of type IGrid.
|
* takes a single argument of type IGrid.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public interface IGridCache
|
public interface IGridCache
|
||||||
{
|
{
|
||||||
@@ -38,7 +37,6 @@ public interface IGridCache
|
|||||||
/**
|
/**
|
||||||
* Called each tick for the network, allows you to have active network wide
|
* Called each tick for the network, allows you to have active network wide
|
||||||
* behaviors.
|
* behaviors.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
void onUpdateTick();
|
void onUpdateTick();
|
||||||
|
|
||||||
@@ -50,9 +48,9 @@ public interface IGridCache
|
|||||||
* information, do it on the next updateTick.
|
* information, do it on the next updateTick.
|
||||||
*
|
*
|
||||||
* @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(IGridNode gridNode, 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.
|
||||||
@@ -62,9 +60,9 @@ public interface IGridCache
|
|||||||
* information, do it on the next updateTick.
|
* information, do it on the next updateTick.
|
||||||
*
|
*
|
||||||
* @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(IGridNode gridNode, 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
|
||||||
@@ -73,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(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
|
||||||
@@ -82,13 +80,12 @@ public interface IGridCache
|
|||||||
*
|
*
|
||||||
* @param sourceStorage old storage
|
* @param sourceStorage old storage
|
||||||
*/
|
*/
|
||||||
void onJoin(IGridStorage sourceStorage);
|
void onJoin( IGridStorage sourceStorage );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when saving changes,
|
* Called when saving changes,
|
||||||
*
|
*
|
||||||
* @param destinationStorage storage
|
* @param destinationStorage storage
|
||||||
*/
|
*/
|
||||||
void populateGridStorage(IGridStorage destinationStorage);
|
void populateGridStorage( IGridStorage destinationStorage );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Access to AE's internal grid connections.
|
* Access to AE's internal grid connections.
|
||||||
*
|
*
|
||||||
@@ -40,17 +42,19 @@ public interface IGridConnection
|
|||||||
* lets you get the opposing node of the connection by passing your own node.
|
* lets you get the opposing node of the connection by passing your own node.
|
||||||
*
|
*
|
||||||
* @param gridNode current grid node
|
* @param gridNode current grid node
|
||||||
|
*
|
||||||
* @return the IGridNode which represents the opposite side of the connection.
|
* @return the IGridNode which represents the opposite side of the connection.
|
||||||
*/
|
*/
|
||||||
IGridNode getOtherSide(IGridNode gridNode);
|
IGridNode getOtherSide( IGridNode gridNode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* determine the direction of the connection based on your node.
|
* determine the direction of the connection based on your node.
|
||||||
*
|
*
|
||||||
* @param gridNode current grid node
|
* @param gridNode current grid node
|
||||||
|
*
|
||||||
* @return the direction of the connection, only valid for in world connections.
|
* @return the direction of the connection, only valid for in world connections.
|
||||||
*/
|
*/
|
||||||
ForgeDirection getDirection(IGridNode gridNode);
|
ForgeDirection getDirection( IGridNode gridNode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* by destroying a connection you may create new grids, and trigger un-expected behavior, you should only destroy
|
* by destroying a connection you may create new grids, and trigger un-expected behavior, you should only destroy
|
||||||
@@ -77,5 +81,4 @@ public interface IGridConnection
|
|||||||
* @return how many channels pass over this connections.
|
* @return how many channels pass over this connections.
|
||||||
*/
|
*/
|
||||||
int getUsedChannels();
|
int getUsedChannels();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,15 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
public interface IGridConnectionVisitor extends IGridVisitor
|
public interface IGridConnectionVisitor extends IGridVisitor
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called for each connection on the network.
|
* Called for each connection on the network.
|
||||||
*
|
*
|
||||||
* @param n
|
* @param n the connection.
|
||||||
* the connection.
|
|
||||||
*/
|
*/
|
||||||
void visitConnection( IGridConnection n );
|
void visitConnection( IGridConnection n );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,11 +30,10 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
import appeng.api.parts.IPart;
|
import appeng.api.parts.IPart;
|
||||||
import appeng.api.util.AECableType;
|
import appeng.api.util.AECableType;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Implement to create a networked {@link TileEntity} or {@link IPart} must
|
* Implement to create a networked {@link TileEntity} or {@link IPart} must
|
||||||
* be implemented for a part, or tile entity to become part of a grid.
|
* be implemented for a part, or tile entity to become part of a grid.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public interface IGridHost
|
public interface IGridHost
|
||||||
{
|
{
|
||||||
@@ -44,11 +43,11 @@ public interface IGridHost
|
|||||||
* by returning a valid node later and calling updateState, you can join the
|
* by returning a valid node later and calling updateState, you can join the
|
||||||
* Grid when your block is ready.
|
* Grid when your block is ready.
|
||||||
*
|
*
|
||||||
* @param dir
|
* @param dir feel free to ignore this, most blocks will use the same node
|
||||||
* feel free to ignore this, most blocks will use the same node
|
|
||||||
* for every side.
|
* for every side.
|
||||||
|
*
|
||||||
* @return a new IGridNode, create these with
|
* @return a new IGridNode, create these with
|
||||||
* AEApi.INSTANCE().createGridNode( MyIGridBlock )
|
* AEApi.INSTANCE().createGridNode( MyIGridBlock )
|
||||||
*/
|
*/
|
||||||
IGridNode getGridNode( ForgeDirection dir );
|
IGridNode getGridNode( ForgeDirection dir );
|
||||||
|
|
||||||
@@ -64,5 +63,4 @@ public interface IGridHost
|
|||||||
* 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.
|
||||||
*/
|
*/
|
||||||
void securityBreak();
|
void securityBreak();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,14 +33,13 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
import appeng.api.IAppEngApi;
|
import appeng.api.IAppEngApi;
|
||||||
import appeng.api.util.IReadOnlyCollection;
|
import appeng.api.util.IReadOnlyCollection;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Gives you a view into your Nodes connections and information.
|
* Gives you a view into your Nodes connections and information.
|
||||||
*
|
*
|
||||||
* updateState, getGrid, destroy are required to implement a proper IGridHost.
|
* updateState, getGrid, destroy are required to implement a proper IGridHost.
|
||||||
*
|
*
|
||||||
* Don't Implement; Acquire from {@link IAppEngApi}.createGridNode
|
* Don't Implement; Acquire from {@link IAppEngApi}.createGridNode
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public interface IGridNode
|
public interface IGridNode
|
||||||
{
|
{
|
||||||
@@ -51,7 +50,7 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* @param visitor visitor
|
* @param visitor visitor
|
||||||
*/
|
*/
|
||||||
void beginVisit(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.
|
||||||
@@ -61,7 +60,6 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* If your entity is not in the world, or if you IGridHost returns a different node for the same side you will
|
* If your entity is not in the world, or if you IGridHost returns a different node for the same side you will
|
||||||
* likely crash the game.
|
* likely crash the game.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
void updateState();
|
void updateState();
|
||||||
|
|
||||||
@@ -91,7 +89,6 @@ public interface IGridNode
|
|||||||
World getWorld();
|
World getWorld();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @return a set of the connected sides, UNKNOWN represents an invisible connection
|
* @return a set of the connected sides, UNKNOWN represents an invisible connection
|
||||||
*/
|
*/
|
||||||
EnumSet<ForgeDirection> getConnectedSides();
|
EnumSet<ForgeDirection> getConnectedSides();
|
||||||
@@ -122,23 +119,23 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* Important: You must call this before updateState.
|
* Important: You must call this before updateState.
|
||||||
*
|
*
|
||||||
* @param name nbt name
|
* @param name nbt name
|
||||||
* @param nodeData to be loaded data
|
* @param nodeData to be loaded data
|
||||||
*/
|
*/
|
||||||
void loadFromNBT(String name, 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
|
||||||
* names, if you fail to complete the load / save procedure, network state may be lost between game load/saves.
|
* names, if you fail to complete the load / save procedure, network state may be lost between game load/saves.
|
||||||
*
|
*
|
||||||
* @param name nbt name
|
* @param name nbt name
|
||||||
* @param nodeData to be saved data
|
* @param nodeData to be saved data
|
||||||
*/
|
*/
|
||||||
void saveToNBT(String name, 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
|
||||||
* status.
|
* status.
|
||||||
*/
|
*/
|
||||||
boolean meetsChannelRequirements();
|
boolean meetsChannelRequirements();
|
||||||
|
|
||||||
@@ -146,9 +143,15 @@ public interface IGridNode
|
|||||||
* see if this node has a certain flag
|
* see if this node has a certain flag
|
||||||
*
|
*
|
||||||
* @param flag flags
|
* @param flag flags
|
||||||
|
*
|
||||||
* @return true if has flag
|
* @return true if has flag
|
||||||
*/
|
*/
|
||||||
boolean hasFlag(GridFlags flag);
|
boolean hasFlag( GridFlags flag );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the ownerID this represents the person who placed the node.
|
||||||
|
*/
|
||||||
|
int getPlayerID();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tell the node who was responsible for placing it, failure to do this may result in in-compatibility with the
|
* tell the node who was responsible for placing it, failure to do this may result in in-compatibility with the
|
||||||
@@ -156,11 +159,5 @@ public interface IGridNode
|
|||||||
*
|
*
|
||||||
* @param playerID new player id
|
* @param playerID new player id
|
||||||
*/
|
*/
|
||||||
void setPlayerID(int playerID);
|
void setPlayerID( int playerID );
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the ownerID this represents the person who placed the node.
|
|
||||||
*/
|
|
||||||
int getPlayerID();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
package appeng.api.networking;
|
package appeng.api.networking;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple Visitor pattern access to network nodes.
|
* Simple Visitor pattern access to network nodes.
|
||||||
*/
|
*/
|
||||||
@@ -34,11 +35,9 @@ public interface IGridVisitor
|
|||||||
*
|
*
|
||||||
* By returning false your informing the host to stop visiting nodes beyond the current node.
|
* By returning false your informing the host to stop visiting nodes beyond the current node.
|
||||||
*
|
*
|
||||||
* @param n
|
* @param n the current node.
|
||||||
* the current node.
|
|
||||||
*
|
*
|
||||||
* @return true to continue visiting nodes beyond this node.
|
* @return true to continue visiting nodes beyond this node.
|
||||||
*/
|
*/
|
||||||
boolean visitNode( IGridNode n );
|
boolean visitNode( IGridNode n );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,15 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.networking.crafting;
|
package appeng.api.networking.crafting;
|
||||||
|
|
||||||
|
|
||||||
public interface ICraftingCallback
|
public interface ICraftingCallback
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this call back is synchronized with the world you passed.
|
* this call back is synchronized with the world you passed.
|
||||||
*
|
*
|
||||||
* @param job
|
* @param job - final job
|
||||||
* - final job
|
|
||||||
*/
|
*/
|
||||||
void calculationComplete( ICraftingJob job );
|
void calculationComplete( ICraftingJob job );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,57 +36,52 @@ import appeng.api.networking.IGridCache;
|
|||||||
import appeng.api.networking.security.BaseActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
|
|
||||||
|
|
||||||
public interface ICraftingGrid extends IGridCache
|
public interface ICraftingGrid extends IGridCache
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param whatToCraft requested craft
|
* @param whatToCraft requested craft
|
||||||
* @param world crafting world
|
* @param world crafting world
|
||||||
* @param slot slot index
|
* @param slot slot index
|
||||||
* @param details pattern details
|
* @param details pattern details
|
||||||
|
*
|
||||||
* @return a collection of crafting patterns for the item in question.
|
* @return a collection of crafting patterns for the item in question.
|
||||||
*/
|
*/
|
||||||
ImmutableCollection<ICraftingPatternDetails> getCraftingFor(IAEItemStack whatToCraft, ICraftingPatternDetails details, int slot, World world);
|
ImmutableCollection<ICraftingPatternDetails> getCraftingFor( IAEItemStack whatToCraft, ICraftingPatternDetails details, int slot, World world );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Begin calculating a crafting job.
|
* Begin calculating a crafting job.
|
||||||
*
|
*
|
||||||
* @param world crafting world
|
* @param world crafting world
|
||||||
* @param grid network
|
* @param grid network
|
||||||
* @param actionSrc source
|
* @param actionSrc source
|
||||||
* @param craftWhat result
|
* @param craftWhat result
|
||||||
* @param callback callback
|
* @param callback callback
|
||||||
* -- optional
|
* -- optional
|
||||||
*
|
*
|
||||||
* @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, BaseActionSource 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.
|
||||||
*
|
*
|
||||||
* @param job
|
* @param job - the crafting job from beginCraftingJob
|
||||||
* - the crafting job from beginCraftingJob
|
* @param requestingMachine - a machine if its being requested via automation, may be null.
|
||||||
* @param requestingMachine
|
* @param target - can be null
|
||||||
* - a machine if its being requested via automation, may be null.
|
* @param prioritizePower - if cpu is null, this determine if the system should prioritize power, or if it should find the lower
|
||||||
* @param target
|
* end cpus, automatic processes generally should pick lower end cpus.
|
||||||
* - can be null
|
* @param src - the action source to use when starting the job, this will be used for extracting items, should
|
||||||
*
|
* usually be the same as the one provided to beginCraftingJob.
|
||||||
* @param prioritizePower
|
|
||||||
* - if cpu is null, this determine if the system should prioritize power, or if it should find the lower
|
|
||||||
* end cpus, automatic processes generally should pick lower end cpus.
|
|
||||||
*
|
|
||||||
* @param src
|
|
||||||
* - the action source to use when starting the job, this will be used for extracting items, should
|
|
||||||
* usually be the same as the one provided to beginCraftingJob.
|
|
||||||
*
|
*
|
||||||
* @return null ( if failed ) or an {@link ICraftingLink} other wise, if you send requestingMachine you need to
|
* @return null ( if failed ) or an {@link ICraftingLink} other wise, if you send requestingMachine you need to
|
||||||
* properly keep track of this and handle the nbt saving and loading of the object as well as the
|
* properly keep track of this and handle the nbt saving and loading of the object as well as the
|
||||||
* {@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, BaseActionSource 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
|
||||||
@@ -95,16 +90,17 @@ public interface ICraftingGrid extends IGridCache
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param what to be requested item
|
* @param what to be requested item
|
||||||
|
*
|
||||||
* @return true if the item can be requested via a crafting emitter.
|
* @return true if the item can be requested via a crafting emitter.
|
||||||
*/
|
*/
|
||||||
boolean canEmitFor(IAEItemStack what);
|
boolean canEmitFor( IAEItemStack what );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* is this item being crafted?
|
* is this item being crafted?
|
||||||
*
|
*
|
||||||
* @param aeStackInSlot 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 aeStackInSlot);
|
boolean isRequesting( IAEItemStack aeStackInSlot );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ 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;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* do not implement provided by {@link ICraftingPatternItem}
|
* do not implement provided by {@link ICraftingPatternItem}
|
||||||
*
|
*
|
||||||
@@ -47,11 +48,11 @@ public interface ICraftingPatternDetails
|
|||||||
/**
|
/**
|
||||||
* @param slotIndex specific slot index
|
* @param slotIndex specific slot index
|
||||||
* @param itemStack item in slot
|
* @param itemStack item in slot
|
||||||
* @param world crafting world
|
* @param world crafting world
|
||||||
*
|
*
|
||||||
* @return if an item can be used in the specific slot for this pattern.
|
* @return if an item can be used in the specific slot for this pattern.
|
||||||
*/
|
*/
|
||||||
boolean isValidItemForSlot(int slotIndex, ItemStack itemStack, World world);
|
boolean isValidItemForSlot( int slotIndex, ItemStack itemStack, World world );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return if this pattern is a crafting pattern ( work bench )
|
* @return if this pattern is a crafting pattern ( work bench )
|
||||||
@@ -87,17 +88,11 @@ public interface ICraftingPatternDetails
|
|||||||
* 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.
|
||||||
*
|
*
|
||||||
* @param craftingInv inventory
|
* @param craftingInv inventory
|
||||||
* @param world crafting world
|
* @param world crafting world
|
||||||
|
*
|
||||||
* @return the crafted ( work bench ) item.
|
* @return the crafted ( work bench ) item.
|
||||||
*/
|
*/
|
||||||
ItemStack getOutput(InventoryCrafting craftingInv, World world);
|
ItemStack getOutput( InventoryCrafting craftingInv, World world );
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the priority the of this pattern.
|
|
||||||
*
|
|
||||||
* @param priority priority of pattern
|
|
||||||
*/
|
|
||||||
void setPriority(int priority);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the priority of this pattern
|
* Get the priority of this pattern
|
||||||
@@ -105,4 +100,11 @@ public interface ICraftingPatternDetails
|
|||||||
* @return the priority of this pattern
|
* @return the priority of this pattern
|
||||||
*/
|
*/
|
||||||
int getPriority();
|
int getPriority();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the priority the of this pattern.
|
||||||
|
*
|
||||||
|
* @param priority priority of pattern
|
||||||
|
*/
|
||||||
|
void setPriority( int priority );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import appeng.api.config.Actionable;
|
|||||||
import appeng.api.networking.security.IActionHost;
|
import appeng.api.networking.security.IActionHost;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
|
|
||||||
|
|
||||||
public interface ICraftingRequester extends IActionHost
|
public interface ICraftingRequester extends IActionHost
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -46,16 +47,16 @@ public interface ICraftingRequester extends IActionHost
|
|||||||
* be returned.
|
* be returned.
|
||||||
*
|
*
|
||||||
* @param items item
|
* @param items item
|
||||||
* @param mode action mode
|
* @param mode action mode
|
||||||
|
*
|
||||||
* @return unwanted item
|
* @return unwanted item
|
||||||
*/
|
*/
|
||||||
IAEItemStack injectCraftedItems(ICraftingLink link, IAEItemStack items, Actionable mode);
|
IAEItemStack injectCraftedItems( ICraftingLink link, IAEItemStack items, Actionable mode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* called when the job changes from in progress, to either complete, or canceled.
|
* called when the job changes from in progress, to either complete, or canceled.
|
||||||
*
|
*
|
||||||
* after this call the crafting link is "dead" and should be discarded.
|
* after this call the crafting link is "dead" and should be discarded.
|
||||||
*/
|
*/
|
||||||
void jobStateChange(ICraftingLink link);
|
void jobStateChange( ICraftingLink link );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,9 +23,11 @@
|
|||||||
|
|
||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.config.AccessRestriction;
|
import appeng.api.config.AccessRestriction;
|
||||||
import appeng.api.config.Actionable;
|
import appeng.api.config.Actionable;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to access information about AE's various power accepting blocks for monitoring purposes.
|
* Used to access information about AE's various power accepting blocks for monitoring purposes.
|
||||||
*/
|
*/
|
||||||
@@ -35,7 +37,7 @@ public interface IAEPowerStorage extends IEnergySource
|
|||||||
/**
|
/**
|
||||||
* Inject amt, power into the device, it will store what it can, and return the amount unable to be stored.
|
* Inject amt, power into the device, it will store what it can, and return the amount unable to be stored.
|
||||||
*
|
*
|
||||||
* @param amt to be injected amount
|
* @param amt to be injected amount
|
||||||
* @param mode action mode
|
* @param mode action mode
|
||||||
*
|
*
|
||||||
* @return amount of power which was unable to be stored
|
* @return amount of power which was unable to be stored
|
||||||
@@ -66,5 +68,4 @@ public interface IAEPowerStorage extends IEnergySource
|
|||||||
* @return access restriction what the network can do
|
* @return access restriction what the network can do
|
||||||
*/
|
*/
|
||||||
AccessRestriction getPowerFlow();
|
AccessRestriction getPowerFlow();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,10 +23,12 @@
|
|||||||
|
|
||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AE's Power system.
|
* AE's Power system.
|
||||||
*/
|
*/
|
||||||
@@ -40,7 +42,7 @@ public interface IEnergyGrid extends IGridCache, IEnergySource, IEnergyGridProvi
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @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.
|
||||||
*/
|
*/
|
||||||
double getAvgPowerUsage();
|
double getAvgPowerUsage();
|
||||||
|
|
||||||
@@ -72,10 +74,9 @@ public interface IEnergyGrid extends IGridCache, IEnergySource, IEnergyGridProvi
|
|||||||
* Another important note, is that if a network that had overflow is deleted, its power is gone, this is one of the
|
* Another important note, is that if a network that had overflow is deleted, its power is gone, this is one of the
|
||||||
* reasons why keeping overflow to a minimum is important.
|
* reasons why keeping overflow to a minimum is important.
|
||||||
*
|
*
|
||||||
* @param amt
|
* @param amt power to inject into the network
|
||||||
* power to inject into the network
|
* @param mode should the action be simulated or performed?
|
||||||
* @param mode
|
*
|
||||||
* should the action be simulated or performed?
|
|
||||||
* @return the amount of power that the network has OVER the limit.
|
* @return the amount of power that the network has OVER the limit.
|
||||||
*/
|
*/
|
||||||
double injectPower( double amt, Actionable mode );
|
double injectPower( double amt, Actionable mode );
|
||||||
@@ -101,5 +102,4 @@ 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.
|
||||||
*/
|
*/
|
||||||
double getEnergyDemand( double maxRequired );
|
double getEnergyDemand( double maxRequired );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,19 +23,21 @@
|
|||||||
|
|
||||||
package appeng.api.networking.energy;
|
package appeng.api.networking.energy;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.config.Actionable;
|
import appeng.api.config.Actionable;
|
||||||
import appeng.api.config.PowerMultiplier;
|
import appeng.api.config.PowerMultiplier;
|
||||||
|
|
||||||
|
|
||||||
public interface IEnergySource
|
public interface IEnergySource
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extract power from the network.
|
* Extract power from the network.
|
||||||
*
|
*
|
||||||
* @param amt extracted power
|
* @param amt extracted power
|
||||||
* @param mode should the action be simulated or performed?
|
* @param mode should the action be simulated or performed?
|
||||||
|
*
|
||||||
* @return returns extracted power.
|
* @return returns extracted power.
|
||||||
*/
|
*/
|
||||||
double extractAEPower( double amt, Actionable mode, PowerMultiplier usePowerMultiplier );
|
double extractAEPower( double amt, Actionable mode, PowerMultiplier usePowerMultiplier );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Posted by the network when the booting status of the network goes up
|
* Posted by the network when the booting status of the network goes up
|
||||||
* or down, the change is reflected via {@link IGridNode}.isActive()
|
* or down, the change is reflected via {@link IGridNode}.isActive()
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Posted by storage devices to inform AE to refresh its storage structure.
|
* Posted by storage devices to inform AE to refresh its storage structure.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridHost;
|
import appeng.api.networking.IGridHost;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Posted to the {@link IGridHost} when the channels on the node connections are altered.
|
* Posted to the {@link IGridHost} when the channels on the node connections are altered.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGrid;
|
import appeng.api.networking.IGrid;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Part of AE's Event Bus.
|
* Part of AE's Event Bus.
|
||||||
*
|
*
|
||||||
@@ -69,7 +71,7 @@ public class MENetworkEvent
|
|||||||
*
|
*
|
||||||
* @param v current number of visitors
|
* @param v current number of visitors
|
||||||
*/
|
*/
|
||||||
public void setVisitedObjects(int v)
|
public void setVisitedObjects( int v )
|
||||||
{
|
{
|
||||||
this.visited = v;
|
this.visited = v;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementers of a IGridBlock must post this event when your getIdlePowerUsage
|
* Implementers of a IGridBlock must post this event when your getIdlePowerUsage
|
||||||
* starts returning a new value, if you do not post this event the network will
|
* starts returning a new value, if you do not post this event the network will
|
||||||
@@ -37,8 +39,8 @@ public class MENetworkPowerIdleChange extends MENetworkEvent
|
|||||||
|
|
||||||
public final IGridNode node;
|
public final IGridNode node;
|
||||||
|
|
||||||
public MENetworkPowerIdleChange(IGridNode nodeThatChanged) {
|
public MENetworkPowerIdleChange( IGridNode nodeThatChanged )
|
||||||
|
{
|
||||||
this.node = nodeThatChanged;
|
this.node = nodeThatChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,9 +23,11 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
import appeng.api.networking.energy.IEnergyGrid;
|
import appeng.api.networking.energy.IEnergyGrid;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Posted by the network when the power status of the network goes up or down,
|
* Posted by the network when the power status of the network goes up or down,
|
||||||
* the change is reflected via the {@link IEnergyGrid}.isNetworkPowered() or via
|
* the change is reflected via the {@link IEnergyGrid}.isNetworkPowered() or via
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.energy.IAEPowerStorage;
|
import appeng.api.networking.energy.IAEPowerStorage;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* informs the network, that a {@link IAEPowerStorage} block that had either run,
|
* informs the network, that a {@link IAEPowerStorage} block that had either run,
|
||||||
* out of power, or was full, is no longer in that state.
|
* out of power, or was full, is no longer in that state.
|
||||||
@@ -37,6 +39,15 @@ import appeng.api.networking.energy.IAEPowerStorage;
|
|||||||
public class MENetworkPowerStorage extends MENetworkEvent
|
public class MENetworkPowerStorage extends MENetworkEvent
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public final IAEPowerStorage storage;
|
||||||
|
public final PowerEventType type;
|
||||||
|
|
||||||
|
public MENetworkPowerStorage( IAEPowerStorage t, PowerEventType y )
|
||||||
|
{
|
||||||
|
this.storage = t;
|
||||||
|
this.type = y;
|
||||||
|
}
|
||||||
|
|
||||||
public enum PowerEventType
|
public enum PowerEventType
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -49,13 +60,4 @@ public class MENetworkPowerStorage extends MENetworkEvent
|
|||||||
*/
|
*/
|
||||||
PROVIDE_POWER
|
PROVIDE_POWER
|
||||||
}
|
}
|
||||||
|
|
||||||
public final IAEPowerStorage storage;
|
|
||||||
public final PowerEventType type;
|
|
||||||
|
|
||||||
public MENetworkPowerStorage(IAEPowerStorage t, PowerEventType y) {
|
|
||||||
this.storage = t;
|
|
||||||
this.type = y;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -23,9 +23,11 @@
|
|||||||
|
|
||||||
package appeng.api.networking.events;
|
package appeng.api.networking.events;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.storage.IMEMonitor;
|
import appeng.api.storage.IMEMonitor;
|
||||||
import appeng.api.storage.StorageChannel;
|
import appeng.api.storage.StorageChannel;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* posted by the network when the networks Storage Changes, you can use the currentItems list to check levels, and
|
* posted by the network when the networks Storage Changes, you can use the currentItems list to check levels, and
|
||||||
* update status.
|
* update status.
|
||||||
@@ -40,9 +42,9 @@ public class MENetworkStorageEvent extends MENetworkEvent
|
|||||||
public final IMEMonitor monitor;
|
public final IMEMonitor monitor;
|
||||||
public final StorageChannel channel;
|
public final StorageChannel channel;
|
||||||
|
|
||||||
public MENetworkStorageEvent(IMEMonitor o, StorageChannel chan) {
|
public MENetworkStorageEvent( IMEMonitor o, StorageChannel chan )
|
||||||
|
{
|
||||||
this.monitor = o;
|
this.monitor = o;
|
||||||
this.channel = chan;
|
this.channel = chan;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||||||
import appeng.api.config.SecurityPermissions;
|
import appeng.api.config.SecurityPermissions;
|
||||||
import appeng.api.networking.IGridCache;
|
import appeng.api.networking.IGridCache;
|
||||||
|
|
||||||
|
|
||||||
public interface ISecurityGrid extends IGridCache
|
public interface ISecurityGrid extends IGridCache
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -41,25 +42,24 @@ public interface ISecurityGrid extends IGridCache
|
|||||||
* Check if a player has permissions.
|
* Check if a player has permissions.
|
||||||
*
|
*
|
||||||
* @param player to be checked player
|
* @param player to be checked player
|
||||||
* @param perm checked permissions
|
* @param perm checked permissions
|
||||||
*
|
*
|
||||||
* @return true if the player has permissions.
|
* @return true if the player has permissions.
|
||||||
*/
|
*/
|
||||||
boolean hasPermission(EntityPlayer player, SecurityPermissions perm);
|
boolean hasPermission( EntityPlayer player, SecurityPermissions perm );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a player has permissions.
|
* Check if a player has permissions.
|
||||||
*
|
*
|
||||||
* @param playerID id of player
|
* @param playerID id of player
|
||||||
* @param perm checked permissions
|
* @param perm checked permissions
|
||||||
*
|
*
|
||||||
* @return true if the player has permissions.
|
* @return true if the player has permissions.
|
||||||
*/
|
*/
|
||||||
boolean hasPermission(int playerID, 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.
|
||||||
*/
|
*/
|
||||||
int getOwner();
|
int getOwner();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import java.util.EnumSet;
|
|||||||
|
|
||||||
import appeng.api.config.SecurityPermissions;
|
import appeng.api.config.SecurityPermissions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used by vanilla Security Terminal to post biometric data into the security cache.
|
* Used by vanilla Security Terminal to post biometric data into the security cache.
|
||||||
*/
|
*/
|
||||||
@@ -37,9 +38,8 @@ public interface ISecurityRegistry
|
|||||||
/**
|
/**
|
||||||
* Submit Permissions into the register.
|
* Submit Permissions into the register.
|
||||||
*
|
*
|
||||||
* @param PlayerID player id
|
* @param PlayerID player id
|
||||||
* @param permissions permissions of player
|
* @param permissions permissions of player
|
||||||
*/
|
*/
|
||||||
void addPlayer(int PlayerID, EnumSet<SecurityPermissions> permissions);
|
void addPlayer( int PlayerID, EnumSet<SecurityPermissions> permissions );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,14 +29,14 @@ public class MachineSource extends BaseActionSource
|
|||||||
|
|
||||||
public final IActionHost via;
|
public final IActionHost via;
|
||||||
|
|
||||||
|
public MachineSource( IActionHost v )
|
||||||
|
{
|
||||||
|
this.via = v;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMachine()
|
public boolean isMachine()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MachineSource( IActionHost v )
|
|
||||||
{
|
|
||||||
this.via = v;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,15 +33,15 @@ public class PlayerSource extends BaseActionSource
|
|||||||
public final EntityPlayer player;
|
public final EntityPlayer player;
|
||||||
public final IActionHost via;
|
public final IActionHost via;
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isPlayer()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PlayerSource( EntityPlayer p, IActionHost v )
|
public PlayerSource( EntityPlayer p, IActionHost v )
|
||||||
{
|
{
|
||||||
this.player = p;
|
this.player = p;
|
||||||
this.via = v;
|
this.via = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPlayer()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,11 +23,13 @@
|
|||||||
|
|
||||||
package appeng.api.networking.storage;
|
package appeng.api.networking.storage;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.security.BaseActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.storage.StorageChannel;
|
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;
|
||||||
|
|
||||||
|
|
||||||
public interface IStackWatcherHost
|
public interface IStackWatcherHost
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -37,17 +39,16 @@ public interface IStackWatcherHost
|
|||||||
*
|
*
|
||||||
* @param newWatcher stack watcher
|
* @param newWatcher stack watcher
|
||||||
*/
|
*/
|
||||||
void updateWatcher(IStackWatcher newWatcher);
|
void updateWatcher( IStackWatcher newWatcher );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a watched item changes amounts.
|
* Called when a watched item changes amounts.
|
||||||
*
|
*
|
||||||
* @param o changed item list
|
* @param o changed item list
|
||||||
* @param fullStack old stack
|
* @param fullStack old stack
|
||||||
* @param diffStack new stack
|
* @param diffStack new stack
|
||||||
* @param src action source
|
* @param src action source
|
||||||
* @param chan storage channel
|
* @param chan storage channel
|
||||||
*/
|
*/
|
||||||
void onStackChange(IItemList o, IAEStack fullStack, IAEStack diffStack, BaseActionSource src, StorageChannel chan);
|
void onStackChange( IItemList o, IAEStack fullStack, IAEStack diffStack, BaseActionSource src, StorageChannel chan );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
package appeng.api.networking.storage;
|
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.BaseActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
@@ -32,6 +33,7 @@ import appeng.api.storage.IStorageMonitorable;
|
|||||||
import appeng.api.storage.StorageChannel;
|
import appeng.api.storage.StorageChannel;
|
||||||
import appeng.api.storage.data.IAEStack;
|
import appeng.api.storage.data.IAEStack;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Common base class for item / fluid storage caches.
|
* Common base class for item / fluid storage caches.
|
||||||
*/
|
*/
|
||||||
@@ -48,7 +50,7 @@ public interface IStorageGrid extends IGridCache, IStorageMonitorable
|
|||||||
*
|
*
|
||||||
* @param input injected items
|
* @param input injected items
|
||||||
*/
|
*/
|
||||||
void postAlterationOfStoredItems(StorageChannel chan, Iterable<? extends IAEStack> input, BaseActionSource src);
|
void postAlterationOfStoredItems( StorageChannel chan, Iterable<? extends IAEStack> input, BaseActionSource src );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to add a cell provider to the storage system
|
* Used to add a cell provider to the storage system
|
||||||
@@ -58,11 +60,10 @@ public interface IStorageGrid extends IGridCache, IStorageMonitorable
|
|||||||
*
|
*
|
||||||
* @param cc to be added cell provider
|
* @param cc to be added cell provider
|
||||||
*/
|
*/
|
||||||
void registerCellProvider(ICellProvider cc);
|
void registerCellProvider( ICellProvider cc );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* remove a provider added with addCellContainer
|
* remove a provider added with addCellContainer
|
||||||
*/
|
*/
|
||||||
void unregisterCellProvider(ICellProvider cc);
|
void unregisterCellProvider( ICellProvider cc );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.networking.ticking;
|
package appeng.api.networking.ticking;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implement on IGridHosts which want to use AE's Network Ticking Feature.
|
* Implement on IGridHosts which want to use AE's Network Ticking Feature.
|
||||||
*/
|
*/
|
||||||
@@ -53,9 +55,8 @@ public interface IGridTickable
|
|||||||
* reset it.
|
* reset it.
|
||||||
*
|
*
|
||||||
* @return null or a valid new TickingRequest
|
* @return null or a valid new TickingRequest
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
TickingRequest getTickingRequest(IGridNode node);
|
TickingRequest getTickingRequest( 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
|
||||||
@@ -66,14 +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
|
* @param TicksSinceLastCall the number of world ticks that were skipped since your last
|
||||||
* 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.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
TickRateModulation tickingRequest(IGridNode node, int TicksSinceLastCall);
|
TickRateModulation tickingRequest( IGridNode node, int TicksSinceLastCall );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,13 +23,13 @@
|
|||||||
|
|
||||||
package appeng.api.networking.ticking;
|
package appeng.api.networking.ticking;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridCache;
|
import appeng.api.networking.IGridCache;
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* The network tick manager.
|
* The network tick manager.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public interface ITickManager extends IGridCache
|
public interface ITickManager extends IGridCache
|
||||||
{
|
{
|
||||||
@@ -42,26 +42,23 @@ public interface ITickManager extends IGridCache
|
|||||||
*
|
*
|
||||||
* @param node gridnode
|
* @param node gridnode
|
||||||
*/
|
*/
|
||||||
boolean alertDevice(IGridNode node);
|
boolean alertDevice( IGridNode node );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* disables ticking for your device.
|
* disables ticking for your device.
|
||||||
*
|
*
|
||||||
* @param node gridnode
|
* @param node gridnode
|
||||||
*
|
*
|
||||||
* @return if the call was successful.
|
* @return if the call was successful.
|
||||||
*/
|
*/
|
||||||
boolean sleepDevice(IGridNode node);
|
boolean sleepDevice( IGridNode node );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* enables ticking for your device, undoes a sleepDevice call.
|
* enables ticking for your device, undoes a sleepDevice call.
|
||||||
*
|
*
|
||||||
* @param node gridnode
|
* @param node gridnode
|
||||||
*
|
*
|
||||||
* @return if the call was successful.
|
* @return if the call was successful.
|
||||||
*/
|
*/
|
||||||
boolean wakeDevice(IGridNode node);
|
boolean wakeDevice( IGridNode node );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,10 +23,9 @@
|
|||||||
|
|
||||||
package appeng.api.networking.ticking;
|
package appeng.api.networking.ticking;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Describes how your tiles ticking is executed.
|
* Describes how your tiles ticking is executed.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class TickingRequest
|
public class TickingRequest
|
||||||
{
|
{
|
||||||
@@ -37,7 +36,6 @@ public class TickingRequest
|
|||||||
* Valid Values are : 1+
|
* Valid Values are : 1+
|
||||||
*
|
*
|
||||||
* Suggested is 5-20
|
* Suggested is 5-20
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public final int minTickRate;
|
public final int minTickRate;
|
||||||
|
|
||||||
@@ -48,30 +46,25 @@ public class TickingRequest
|
|||||||
* Valid Values are 1+
|
* Valid Values are 1+
|
||||||
*
|
*
|
||||||
* Suggested is 20-40
|
* Suggested is 20-40
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public final int maxTickRate;
|
public final int maxTickRate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Determines the current expected state of your node, if your node expects
|
* Determines the current expected state of your node, if your node expects
|
||||||
* to be sleeping, then return true.
|
* to be sleeping, then return true.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public final boolean isSleeping;
|
public final boolean isSleeping;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* True only if you call {@link ITickManager}.alertDevice( IGridNode );
|
* True only if you call {@link ITickManager}.alertDevice( IGridNode );
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public final boolean canBeAlerted;
|
public final boolean canBeAlerted;
|
||||||
|
|
||||||
public TickingRequest(int min, int max, boolean sleep, boolean alertable) {
|
public TickingRequest( int min, int max, boolean sleep, boolean alertable )
|
||||||
|
{
|
||||||
this.minTickRate = min;
|
this.minTickRate = min;
|
||||||
this.maxTickRate = max;
|
this.maxTickRate = max;
|
||||||
this.isSleeping = sleep;
|
this.isSleeping = sleep;
|
||||||
this.canBeAlerted = alertable;
|
this.canBeAlerted = alertable;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public enum CableRenderMode
|
|||||||
public final boolean transparentFacades;
|
public final boolean transparentFacades;
|
||||||
public final boolean opaqueFacades;
|
public final boolean opaqueFacades;
|
||||||
|
|
||||||
CableRenderMode( boolean hideFacades )
|
CableRenderMode( boolean hideFacades )
|
||||||
{
|
{
|
||||||
this.transparentFacades = hideFacades;
|
this.transparentFacades = hideFacades;
|
||||||
this.opaqueFacades = !hideFacades;
|
this.opaqueFacades = !hideFacades;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used Internally.
|
* Used Internally.
|
||||||
*
|
*
|
||||||
@@ -44,17 +45,17 @@ public interface IFacadeContainer
|
|||||||
*
|
*
|
||||||
* @return true if the facade as successfully added.
|
* @return true if the facade as successfully added.
|
||||||
*/
|
*/
|
||||||
boolean addFacade(IFacadePart a);
|
boolean addFacade( IFacadePart a );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removed the facade on the given side, or does nothing.
|
* Removed the facade on the given side, or does nothing.
|
||||||
*/
|
*/
|
||||||
void removeFacade(IPartHost host, ForgeDirection side);
|
void removeFacade( IPartHost host, ForgeDirection side );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the {@link IFacadePart} for a given side, or null.
|
* @return the {@link IFacadePart} for a given side, or null.
|
||||||
*/
|
*/
|
||||||
IFacadePart getFacade(ForgeDirection s);
|
IFacadePart getFacade( ForgeDirection s );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rotate the facades left.
|
* rotate the facades left.
|
||||||
@@ -66,35 +67,37 @@ public interface IFacadeContainer
|
|||||||
*
|
*
|
||||||
* @param data to be written data
|
* @param data to be written data
|
||||||
*/
|
*/
|
||||||
void writeToNBT(NBTTagCompound data);
|
void writeToNBT( NBTTagCompound data );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* read from stream
|
* read from stream
|
||||||
*
|
*
|
||||||
* @param data to be read data
|
* @param data to be read data
|
||||||
|
*
|
||||||
* @return true if it was readable
|
* @return true if it was readable
|
||||||
|
*
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
boolean readFromStream(ByteBuf data) throws IOException;
|
boolean readFromStream( ByteBuf data ) throws IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* read from NBT
|
* read from NBT
|
||||||
*
|
*
|
||||||
* @param data to be read data
|
* @param data to be read data
|
||||||
*/
|
*/
|
||||||
void readFromNBT(NBTTagCompound data);
|
void readFromNBT( NBTTagCompound data );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* write to stream
|
* write to stream
|
||||||
*
|
*
|
||||||
* @param data to be written data
|
* @param data to be written data
|
||||||
|
*
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
void writeToStream(ByteBuf data) throws IOException;
|
void writeToStream( ByteBuf data ) throws IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return true if there are no facades.
|
* @return true if there are no facades.
|
||||||
*/
|
*/
|
||||||
boolean isEmpty();
|
boolean isEmpty();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used Internally.
|
* Used Internally.
|
||||||
*
|
*
|
||||||
@@ -51,24 +52,24 @@ public interface IFacadePart
|
|||||||
* used to collide, and pick the part
|
* used to collide, and pick the part
|
||||||
*
|
*
|
||||||
* @param ch collision helper
|
* @param ch collision helper
|
||||||
* @param e colliding entity
|
* @param e colliding entity
|
||||||
*/
|
*/
|
||||||
void getBoxes(IPartCollisionHelper ch, Entity e);
|
void getBoxes( IPartCollisionHelper ch, Entity e );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* render the part.
|
* render the part.
|
||||||
*
|
*
|
||||||
* @param x x pos of part
|
* @param x x pos of part
|
||||||
* @param y y pos of part
|
* @param y y pos of part
|
||||||
* @param z z pos of part
|
* @param z z pos of part
|
||||||
* @param instance render helper
|
* @param instance render helper
|
||||||
* @param renderer renderer
|
* @param renderer renderer
|
||||||
* @param fc face container
|
* @param fc face container
|
||||||
* @param busBounds bounding box
|
* @param busBounds bounding box
|
||||||
* @param renderStilt if to render stilt
|
* @param renderStilt if to render stilt
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
void renderStatic(int x, int y, int z, IPartRenderHelper instance, RenderBlocks renderer, IFacadeContainer fc, AxisAlignedBB busBounds, boolean renderStilt);
|
void renderStatic( int x, int y, int z, IPartRenderHelper instance, RenderBlocks renderer, IFacadeContainer fc, AxisAlignedBB busBounds, boolean renderStilt );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* render the part in inventory.
|
* render the part in inventory.
|
||||||
@@ -76,8 +77,8 @@ public interface IFacadePart
|
|||||||
* @param instance render helper
|
* @param instance render helper
|
||||||
* @param renderer renderer
|
* @param renderer renderer
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
void renderInventory(IPartRenderHelper instance, RenderBlocks renderer);
|
void renderInventory( IPartRenderHelper instance, RenderBlocks renderer );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return side the facade is in
|
* @return side the facade is in
|
||||||
@@ -95,8 +96,7 @@ public interface IFacadePart
|
|||||||
|
|
||||||
boolean isBC();
|
boolean isBC();
|
||||||
|
|
||||||
void setThinFacades(boolean useThinFacades);
|
void setThinFacades( boolean useThinFacades );
|
||||||
|
|
||||||
boolean isTransparent();
|
boolean isTransparent();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.parts;
|
package appeng.api.parts;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
|
||||||
public interface IPartCollisionHelper
|
public interface IPartCollisionHelper
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -40,7 +42,7 @@ public interface IPartCollisionHelper
|
|||||||
* @param maxY maximal y collision
|
* @param maxY maximal y collision
|
||||||
* @param maxZ maximal z collision
|
* @param maxZ maximal z collision
|
||||||
*/
|
*/
|
||||||
void addBox(double minX, double minY, double minZ, double maxX, double maxY, double maxZ);
|
void addBox( double minX, double minY, double minZ, double maxX, double maxY, double maxZ );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return east in world space.
|
* @return east in world space.
|
||||||
@@ -61,5 +63,4 @@ public interface IPartCollisionHelper
|
|||||||
* @return true if this test is to get the BB Collision information.
|
* @return true if this test is to get the BB Collision information.
|
||||||
*/
|
*/
|
||||||
boolean isBBCollision();
|
boolean isBBCollision();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,10 +23,12 @@
|
|||||||
|
|
||||||
package appeng.api.parts;
|
package appeng.api.parts;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
|
||||||
public interface IPartHelper
|
public interface IPartHelper
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -54,28 +56,29 @@ public interface IPartHelper
|
|||||||
* implement that interface on a part get implement it.
|
* implement that interface on a part get implement it.
|
||||||
*
|
*
|
||||||
* @return true on success, false on failure, usually a error will be logged
|
* @return true on success, false on failure, usually a error will be logged
|
||||||
* as well.
|
* as well.
|
||||||
*/
|
*/
|
||||||
boolean registerNewLayer(String string, String layerInterface);
|
boolean registerNewLayer( String string, String layerInterface );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register IBusItem with renderer
|
* Register IBusItem with renderer
|
||||||
*/
|
*/
|
||||||
void setItemBusRenderer(IPartItem i);
|
void setItemBusRenderer( IPartItem i );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* use in use item, to try and place a IBusItem
|
* use in use item, to try and place a IBusItem
|
||||||
*
|
*
|
||||||
* @param is ItemStack of an item which implements {@link IPartItem}
|
* @param is ItemStack of an item which implements {@link IPartItem}
|
||||||
* @param x x pos of part
|
* @param x x pos of part
|
||||||
* @param y y pos of part
|
* @param y y pos of part
|
||||||
* @param z z pos of part
|
* @param z z pos of part
|
||||||
* @param side side which the part should be on
|
* @param side side which the part should be on
|
||||||
* @param player player placing part
|
* @param player player placing part
|
||||||
* @param world part in world
|
* @param world part in world
|
||||||
|
*
|
||||||
* @return true if placing was successful
|
* @return true if placing was successful
|
||||||
*/
|
*/
|
||||||
boolean placeBus(ItemStack is, int x, int y, int z, int side, EntityPlayer player, World world);
|
boolean placeBus( ItemStack is, int x, int y, int z, int side, EntityPlayer player, World world );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the render mode
|
* @return the render mode
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
import appeng.api.util.AEColor;
|
import appeng.api.util.AEColor;
|
||||||
import appeng.api.util.DimensionalCoord;
|
import appeng.api.util.DimensionalCoord;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implemented on AE's TileEntity or AE's FMP Part.
|
* Implemented on AE's TileEntity or AE's FMP Part.
|
||||||
*
|
*
|
||||||
@@ -54,28 +55,31 @@ public interface IPartHost
|
|||||||
*
|
*
|
||||||
* @param part to be added part
|
* @param part to be added part
|
||||||
* @param side part placed onto side
|
* @param side part placed onto side
|
||||||
|
*
|
||||||
* @return returns false if the part cannot be added.
|
* @return returns false if the part cannot be added.
|
||||||
*/
|
*/
|
||||||
boolean canAddPart(ItemStack part, ForgeDirection side);
|
boolean canAddPart( ItemStack part, ForgeDirection side );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* try to add a new part to the specified side, returns false if it failed to be added.
|
* try to add a new part to the specified side, returns false if it failed to be added.
|
||||||
*
|
*
|
||||||
* @param is new part
|
* @param is new part
|
||||||
* @param side onto side
|
* @param side onto side
|
||||||
* @param owner with owning player
|
* @param owner with owning player
|
||||||
|
*
|
||||||
* @return null if the item failed to add, the side it was placed on other wise ( may different for cables,
|
* @return null if the item failed to add, the side it was placed on other wise ( may different for cables,
|
||||||
* {@link ForgeDirection}.UNKNOWN )
|
* {@link ForgeDirection}.UNKNOWN )
|
||||||
*/
|
*/
|
||||||
ForgeDirection addPart(ItemStack is, ForgeDirection side, EntityPlayer owner);
|
ForgeDirection addPart( ItemStack is, ForgeDirection side, EntityPlayer owner );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get part by side ( center is {@link ForgeDirection}.UNKNOWN )
|
* Get part by side ( center is {@link ForgeDirection}.UNKNOWN )
|
||||||
*
|
*
|
||||||
* @param side side of part
|
* @param side side of part
|
||||||
|
*
|
||||||
* @return the part located on the specified side, or null if there is no part.
|
* @return the part located on the specified side, or null if there is no part.
|
||||||
*/
|
*/
|
||||||
IPart getPart(ForgeDirection side);
|
IPart getPart( ForgeDirection side );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* removes the part on the side, this doesn't drop it or anything, if you don't do something with it, its just
|
* removes the part on the side, this doesn't drop it or anything, if you don't do something with it, its just
|
||||||
@@ -83,11 +87,10 @@ public interface IPartHost
|
|||||||
*
|
*
|
||||||
* if you want to drop the part you must request it prior to removing it.
|
* if you want to drop the part you must request it prior to removing it.
|
||||||
*
|
*
|
||||||
* @param side side of part
|
* @param side side of part
|
||||||
* @param suppressUpdate
|
* @param suppressUpdate - used if you need to replace a part's INSTANCE, without really removing it first.
|
||||||
* - used if you need to replace a part's INSTANCE, without really removing it first.
|
|
||||||
*/
|
*/
|
||||||
void removePart(ForgeDirection side, boolean suppressUpdate);
|
void removePart( ForgeDirection side, boolean suppressUpdate );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* something changed, might want to send a packet to clients to update state.
|
* something changed, might want to send a packet to clients to update state.
|
||||||
@@ -106,7 +109,7 @@ public interface IPartHost
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the color of the host type ( this is determined by the middle cable. ) if no cable is present, it returns
|
* @return the color of the host type ( this is determined by the middle cable. ) if no cable is present, it returns
|
||||||
* {@link AEColor} .Transparent other wise it returns the color of the cable in the center.
|
* {@link AEColor} .Transparent other wise it returns the color of the cable in the center.
|
||||||
*/
|
*/
|
||||||
AEColor getColor();
|
AEColor getColor();
|
||||||
|
|
||||||
@@ -120,15 +123,16 @@ public interface IPartHost
|
|||||||
*
|
*
|
||||||
* @return returns if microblocks are blocking this cable path.
|
* @return returns if microblocks are blocking this cable path.
|
||||||
*/
|
*/
|
||||||
boolean isBlocked(ForgeDirection side);
|
boolean isBlocked( ForgeDirection side );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* finds the part located at the position ( pos must be relative, not global )
|
* finds the part located at the position ( pos must be relative, not global )
|
||||||
*
|
*
|
||||||
* @param pos part position
|
* @param pos part position
|
||||||
|
*
|
||||||
* @return a new SelectedPart, this is never null.
|
* @return a new SelectedPart, this is never null.
|
||||||
*/
|
*/
|
||||||
SelectedPart selectPart(Vec3 pos);
|
SelectedPart selectPart( Vec3 pos );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* can be used by parts to trigger the tile or part to save.
|
* can be used by parts to trigger the tile or part to save.
|
||||||
@@ -144,9 +148,10 @@ public interface IPartHost
|
|||||||
* get the redstone state of host on this side, this value is cached internally.
|
* get the redstone state of host on this side, this value is cached internally.
|
||||||
*
|
*
|
||||||
* @param side side of part
|
* @param side side of part
|
||||||
|
*
|
||||||
* @return true of the part host is receiving redstone from an external source.
|
* @return true of the part host is receiving redstone from an external source.
|
||||||
*/
|
*/
|
||||||
boolean hasRedstone(ForgeDirection side);
|
boolean hasRedstone( ForgeDirection side );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns false if this block contains any parts or facades, true other wise.
|
* returns false if this block contains any parts or facades, true other wise.
|
||||||
|
|||||||
@@ -26,8 +26,9 @@ package appeng.api.parts;
|
|||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a pretty basic requirement, once you implement the interface, and createPartFromItemStack
|
* This is a pretty basic requirement, once you implement the interface, and createPartFromItemStack
|
||||||
*
|
*
|
||||||
@@ -51,7 +52,6 @@ import net.minecraft.item.ItemStack;
|
|||||||
* }
|
* }
|
||||||
* </code>
|
* </code>
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public interface IPartItem
|
public interface IPartItem
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
||||||
public interface IPartRenderHelper
|
public interface IPartRenderHelper
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -49,83 +50,83 @@ public interface IPartRenderHelper
|
|||||||
* @param maxY maximal y bound
|
* @param maxY maximal y bound
|
||||||
* @param maxZ maximal z bound
|
* @param maxZ maximal z bound
|
||||||
*/
|
*/
|
||||||
void setBounds(float minX, float minY, float minZ, float maxX, float maxY, float maxZ);
|
void setBounds( float minX, float minY, float minZ, float maxX, float maxY, float maxZ );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* static renderer
|
* static renderer
|
||||||
*
|
*
|
||||||
* render a single face.
|
* render a single face.
|
||||||
*
|
*
|
||||||
* @param x x coord of part
|
* @param x x coord of part
|
||||||
* @param y y coord of part
|
* @param y y coord of part
|
||||||
* @param z z coord of part
|
* @param z z coord of part
|
||||||
* @param ico icon of part
|
* @param ico icon of part
|
||||||
* @param face direction its facing
|
* @param face direction its facing
|
||||||
* @param renderer renderer of part
|
* @param renderer renderer of part
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
void renderFace(int x, int y, int z, IIcon ico, ForgeDirection face, RenderBlocks renderer);
|
void renderFace( int x, int y, int z, IIcon ico, ForgeDirection face, RenderBlocks renderer );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* static renderer
|
* static renderer
|
||||||
*
|
*
|
||||||
* render a box with a cut out box in the center.
|
* render a box with a cut out box in the center.
|
||||||
*
|
*
|
||||||
* @param x x pos of part
|
* @param x x pos of part
|
||||||
* @param y y pos of part
|
* @param y y pos of part
|
||||||
* @param z z pos of part
|
* @param z z pos of part
|
||||||
* @param ico icon of part
|
* @param ico icon of part
|
||||||
* @param face face of part
|
* @param face face of part
|
||||||
* @param edgeThickness thickness of the edge
|
* @param edgeThickness thickness of the edge
|
||||||
* @param renderer renderer
|
* @param renderer renderer
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
void renderFaceCutout(int x, int y, int z, IIcon ico, ForgeDirection face, float edgeThickness, RenderBlocks renderer);
|
void renderFaceCutout( int x, int y, int z, IIcon ico, ForgeDirection face, float edgeThickness, RenderBlocks renderer );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* static renderer
|
* static renderer
|
||||||
*
|
*
|
||||||
* render a block of specified bounds.
|
* render a block of specified bounds.
|
||||||
*
|
*
|
||||||
* @param x x pos of block
|
* @param x x pos of block
|
||||||
* @param y y pos of block
|
* @param y y pos of block
|
||||||
* @param z z pos of block
|
* @param z z pos of block
|
||||||
* @param renderer renderer
|
* @param renderer renderer
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
void renderBlock(int x, int y, int z, RenderBlocks renderer);
|
void renderBlock( int x, int y, int z, RenderBlocks renderer );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* render a single face in inventory renderer.
|
* render a single face in inventory renderer.
|
||||||
*
|
*
|
||||||
* @param IIcon icon of part
|
* @param IIcon icon of part
|
||||||
* @param direction face of part
|
* @param direction face of part
|
||||||
* @param renderer renderer
|
* @param renderer renderer
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
void renderInventoryFace(IIcon IIcon, ForgeDirection direction, RenderBlocks renderer);
|
void renderInventoryFace( IIcon IIcon, ForgeDirection direction, RenderBlocks renderer );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* render a box in inventory renderer.
|
* render a box in inventory renderer.
|
||||||
*
|
*
|
||||||
* @param renderer renderer
|
* @param renderer renderer
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
void renderInventoryBox(RenderBlocks renderer);
|
void renderInventoryBox( RenderBlocks renderer );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* inventory, and static renderer.
|
* inventory, and static renderer.
|
||||||
*
|
*
|
||||||
* set unique icons for each side of the block.
|
* set unique icons for each side of the block.
|
||||||
*
|
*
|
||||||
* @param down down face
|
* @param down down face
|
||||||
* @param up up face
|
* @param up up face
|
||||||
* @param north north face
|
* @param north north face
|
||||||
* @param south south face
|
* @param south south face
|
||||||
* @param west west face
|
* @param west west face
|
||||||
* @param east east face
|
* @param east east face
|
||||||
*/
|
*/
|
||||||
void setTexture(IIcon down, IIcon up, IIcon north, IIcon south, IIcon west, IIcon east);
|
void setTexture( IIcon down, IIcon up, IIcon north, IIcon south, IIcon west, IIcon east );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* inventory, and static renderer.
|
* inventory, and static renderer.
|
||||||
@@ -134,14 +135,14 @@ public interface IPartRenderHelper
|
|||||||
*
|
*
|
||||||
* @param ico to be set icon
|
* @param ico to be set icon
|
||||||
*/
|
*/
|
||||||
void setTexture(IIcon ico);
|
void setTexture( IIcon ico );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* configure the color multiplier for the inventory renderer.
|
* configure the color multiplier for the inventory renderer.
|
||||||
*
|
*
|
||||||
* @param whiteVariant color multiplier
|
* @param whiteVariant color multiplier
|
||||||
*/
|
*/
|
||||||
void setInvColor(int whiteVariant);
|
void setInvColor( int whiteVariant );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the block used for rendering, might need it for some reason...
|
* @return the block used for rendering, might need it for some reason...
|
||||||
@@ -169,7 +170,7 @@ public interface IPartRenderHelper
|
|||||||
*
|
*
|
||||||
* Only worth it if you render more then 1 block.
|
* Only worth it if you render more then 1 block.
|
||||||
*/
|
*/
|
||||||
ISimplifiedBundle useSimplifiedRendering(int x, int y, int z, IBoxProvider p, ISimplifiedBundle sim);
|
ISimplifiedBundle useSimplifiedRendering( int x, int y, int z, IBoxProvider p, ISimplifiedBundle sim );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* disables, useSimplifiedRendering.
|
* disables, useSimplifiedRendering.
|
||||||
@@ -179,25 +180,24 @@ public interface IPartRenderHelper
|
|||||||
/**
|
/**
|
||||||
* render a block using the current renderer state.
|
* render a block using the current renderer state.
|
||||||
*
|
*
|
||||||
* @param x x pos of part
|
* @param x x pos of part
|
||||||
* @param y y pos of part
|
* @param y y pos of part
|
||||||
* @param z z pos of part
|
* @param z z pos of part
|
||||||
* @param renderer renderer of part
|
* @param renderer renderer of part
|
||||||
*/
|
*/
|
||||||
void renderBlockCurrentBounds(int x, int y, int z, RenderBlocks renderer);
|
void renderBlockCurrentBounds( int x, int y, int z, RenderBlocks renderer );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* allow you to enable your part to render during the alpha pass or the standard pass.
|
* allow you to enable your part to render during the alpha pass or the standard pass.
|
||||||
*
|
*
|
||||||
* @param pass render pass
|
* @param pass render pass
|
||||||
*/
|
*/
|
||||||
void renderForPass(int pass);
|
void renderForPass( int pass );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set which faces to render, remember to set back to ALL when you are done.
|
* Set which faces to render, remember to set back to ALL when you are done.
|
||||||
*
|
*
|
||||||
* @param complementOf sides to render
|
* @param complementOf sides to render
|
||||||
*/
|
*/
|
||||||
void setFacesToRender(EnumSet<ForgeDirection> complementOf);
|
void setFacesToRender( EnumSet<ForgeDirection> complementOf );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -29,6 +29,7 @@ import java.util.Set;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All Layers must extends this, this get part implementation is provided to interface with the parts, however a real
|
* All Layers must extends this, this get part implementation is provided to interface with the parts, however a real
|
||||||
* implementation will be used at runtime.
|
* implementation will be used at runtime.
|
||||||
@@ -42,9 +43,10 @@ public abstract class LayerBase extends TileEntity // implements IPartHost
|
|||||||
* This Method looks silly, that is because its not used at runtime, a real implementation will be used instead.
|
* This Method looks silly, that is because its not used at runtime, a real implementation will be used instead.
|
||||||
*
|
*
|
||||||
* @param side side of part
|
* @param side side of part
|
||||||
|
*
|
||||||
* @return the part for the requested side.
|
* @return the part for the requested side.
|
||||||
*/
|
*/
|
||||||
public IPart getPart(ForgeDirection side)
|
public IPart getPart( ForgeDirection side )
|
||||||
{
|
{
|
||||||
return null; // place holder.
|
return null; // place holder.
|
||||||
}
|
}
|
||||||
@@ -75,5 +77,4 @@ public abstract class LayerBase extends TileEntity // implements IPartHost
|
|||||||
{
|
{
|
||||||
// something!
|
// something!
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,14 +30,16 @@ import appeng.api.exceptions.MissingIngredientError;
|
|||||||
import appeng.api.exceptions.RecipeError;
|
import appeng.api.exceptions.RecipeError;
|
||||||
import appeng.api.exceptions.RegistrationError;
|
import appeng.api.exceptions.RegistrationError;
|
||||||
|
|
||||||
|
|
||||||
public interface ICraftHandler
|
public interface ICraftHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when your recipe handler receives a newly parsed list of inputs/outputs.
|
* Called when your recipe handler receives a newly parsed list of inputs/outputs.
|
||||||
*
|
*
|
||||||
* @param input parsed inputs
|
* @param input parsed inputs
|
||||||
* @param output parsed outputs
|
* @param output parsed outputs
|
||||||
|
*
|
||||||
* @throws RecipeError
|
* @throws RecipeError
|
||||||
*/
|
*/
|
||||||
void setup( List<List<IIngredient>> input, List<List<IIngredient>> output ) throws RecipeError;
|
void setup( List<List<IIngredient>> input, List<List<IIngredient>> output ) throws RecipeError;
|
||||||
@@ -49,5 +51,4 @@ public interface ICraftHandler
|
|||||||
* @throws MissingIngredientError
|
* @throws MissingIngredientError
|
||||||
*/
|
*/
|
||||||
void register() throws RegistrationError, MissingIngredientError;
|
void register() throws RegistrationError, MissingIngredientError;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,9 @@ import net.minecraft.item.ItemStack;
|
|||||||
import appeng.api.exceptions.MissingIngredientError;
|
import appeng.api.exceptions.MissingIngredientError;
|
||||||
import appeng.api.exceptions.RegistrationError;
|
import appeng.api.exceptions.RegistrationError;
|
||||||
|
|
||||||
public interface IIngredient {
|
|
||||||
|
public interface IIngredient
|
||||||
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Acquire a single input stack for the current recipe, if more then one ItemStack is possible a
|
* Acquire a single input stack for the current recipe, if more then one ItemStack is possible a
|
||||||
@@ -47,6 +49,7 @@ public interface IIngredient {
|
|||||||
* multiple inputs per slot.
|
* multiple inputs per slot.
|
||||||
*
|
*
|
||||||
* @return an array of ItemStacks for the recipe handler.
|
* @return an array of ItemStacks for the recipe handler.
|
||||||
|
*
|
||||||
* @throws RegistrationError
|
* @throws RegistrationError
|
||||||
* @throws MissingIngredientError
|
* @throws MissingIngredientError
|
||||||
*/
|
*/
|
||||||
@@ -81,9 +84,9 @@ public interface IIngredient {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Bakes the lists in for faster runtime look-ups.
|
* Bakes the lists in for faster runtime look-ups.
|
||||||
|
*
|
||||||
* @throws MissingIngredientError
|
* @throws MissingIngredientError
|
||||||
* @throws RegistrationError
|
* @throws RegistrationError
|
||||||
*/
|
*/
|
||||||
void bake() throws RegistrationError, MissingIngredientError;
|
void bake() throws RegistrationError, MissingIngredientError;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
public class ResolverResult
|
public class ResolverResult
|
||||||
{
|
{
|
||||||
|
|
||||||
final public String itemName;
|
public final String itemName;
|
||||||
final public int damageValue;
|
public final int damageValue;
|
||||||
final public NBTTagCompound compound;
|
public final NBTTagCompound compound;
|
||||||
|
|
||||||
public ResolverResult( String name, int damage )
|
public ResolverResult( String name, int damage )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import cpw.mods.fml.relauncher.SideOnly;
|
|||||||
|
|
||||||
import appeng.api.implementations.tiles.IChestOrDrive;
|
import appeng.api.implementations.tiles.IChestOrDrive;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registration record for {@link ICellRegistry}
|
* Registration record for {@link ICellRegistry}
|
||||||
*/
|
*/
|
||||||
@@ -44,63 +45,60 @@ public interface ICellHandler
|
|||||||
* request a handler )
|
* request a handler )
|
||||||
*
|
*
|
||||||
* @param is to be checked item
|
* @param is to be checked item
|
||||||
|
*
|
||||||
* @return return true, if getCellHandler will not return null.
|
* @return return true, if getCellHandler will not return null.
|
||||||
*/
|
*/
|
||||||
boolean isCell(ItemStack is);
|
boolean isCell( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If you cannot handle the provided item, return null
|
* If you cannot handle the provided item, return null
|
||||||
*
|
*
|
||||||
* @param is
|
* @param is a storage cell item.
|
||||||
* a storage cell item.
|
* @param host anytime the contents of your storage cell changes it should use this to request a save, please
|
||||||
* @param host
|
* note, this value can be null.
|
||||||
* anytime the contents of your storage cell changes it should use this to request a save, please
|
* @param channel the storage channel requested.
|
||||||
* note, this value can be null.
|
|
||||||
* @param channel
|
|
||||||
* the storage channel requested.
|
|
||||||
*
|
*
|
||||||
* @return a new IMEHandler for the provided item
|
* @return a new IMEHandler for the provided item
|
||||||
*/
|
*/
|
||||||
IMEInventoryHandler getCellInventory(ItemStack is, ISaveProvider host, StorageChannel channel);
|
IMEInventoryHandler getCellInventory( ItemStack is, ISaveProvider host, StorageChannel channel );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the ME Chest texture for light pixels this storage cell type, should be 10x10 with 3px of transparent
|
* @return the ME Chest texture for light pixels this storage cell type, should be 10x10 with 3px of transparent
|
||||||
* padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the
|
* padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the
|
||||||
* assets for examples.
|
* assets for examples.
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
IIcon getTopTexture_Light();
|
IIcon getTopTexture_Light();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the ME Chest texture for medium pixels this storage cell type, should be 10x10 with 3px of transparent
|
* @return the ME Chest texture for medium pixels this storage cell type, should be 10x10 with 3px of transparent
|
||||||
* padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the
|
* padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the
|
||||||
* assets for examples.
|
* assets for examples.
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
IIcon getTopTexture_Medium();
|
IIcon getTopTexture_Medium();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the ME Chest texture for dark pixels this storage cell type, should be 10x10 with 3px of transparent
|
* @return the ME Chest texture for dark pixels this storage cell type, should be 10x10 with 3px of transparent
|
||||||
* padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the
|
* padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the
|
||||||
* assets for examples.
|
* assets for examples.
|
||||||
*/
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly( Side.CLIENT )
|
||||||
IIcon getTopTexture_Dark();
|
IIcon getTopTexture_Dark();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Called when the storage cell is planed in an ME Chest and the user tries to open the terminal side, if your item
|
* Called when the storage cell is planed in an ME Chest and the user tries to open the terminal side, if your item
|
||||||
* is not available via ME Chests simply tell the user they can't use it, or something, other wise you should open
|
* is not available via ME Chests simply tell the user they can't use it, or something, other wise you should open
|
||||||
* your gui and display the cell to the user.
|
* your gui and display the cell to the user.
|
||||||
*
|
*
|
||||||
* @param player player opening chest gui
|
* @param player player opening chest gui
|
||||||
* @param chest to be opened chest
|
* @param chest to be opened chest
|
||||||
* @param cellHandler cell handler
|
* @param cellHandler cell handler
|
||||||
* @param inv inventory handler
|
* @param inv inventory handler
|
||||||
* @param is item
|
* @param is item
|
||||||
* @param chan storage channel
|
* @param chan storage channel
|
||||||
*/
|
*/
|
||||||
void openChestGui(EntityPlayer player, IChestOrDrive chest, ICellHandler cellHandler, IMEInventoryHandler inv, ItemStack is, StorageChannel chan);
|
void openChestGui( EntityPlayer player, IChestOrDrive chest, ICellHandler cellHandler, IMEInventoryHandler inv, ItemStack is, StorageChannel chan );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 0 - cell is missing.
|
* 0 - cell is missing.
|
||||||
@@ -111,16 +109,15 @@ public interface ICellHandler
|
|||||||
*
|
*
|
||||||
* 3 - red, ( usually means the cell is 100% full )
|
* 3 - red, ( usually means the cell is 100% full )
|
||||||
*
|
*
|
||||||
* @param is the cell item. ( use the handler for any details you can )
|
* @param is the cell item. ( use the handler for any details you can )
|
||||||
* @param handler the handler for the cell is provides for reference, you can cast this to your handler.
|
* @param handler the handler for the cell is provides for reference, you can cast this to your handler.
|
||||||
*
|
*
|
||||||
* @return get the status of the cell based on its contents.
|
* @return get the status of the cell based on its contents.
|
||||||
*/
|
*/
|
||||||
int getStatusForCell(ItemStack is, IMEInventory handler);
|
int getStatusForCell( ItemStack is, IMEInventory handler );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the ae/t to drain for this storage cell inside a chest/drive.
|
* @return the ae/t to drain for this storage cell inside a chest/drive.
|
||||||
*/
|
*/
|
||||||
double cellIdleDrain(ItemStack is, IMEInventory handler);
|
double cellIdleDrain( ItemStack is, IMEInventory handler );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.storage;
|
package appeng.api.storage;
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows you to provide cells via non IGridHosts directly to the storage system, drives, and similar features should go
|
* Allows you to provide cells via non IGridHosts directly to the storage system, drives, and similar features should go
|
||||||
* though {@link ICellContainer} and be automatically handled by the storage system.
|
* though {@link ICellContainer} and be automatically handled by the storage system.
|
||||||
@@ -40,7 +42,7 @@ public interface ICellProvider
|
|||||||
*
|
*
|
||||||
* @return a valid list of handlers, NEVER NULL
|
* @return a valid list of handlers, NEVER NULL
|
||||||
*/
|
*/
|
||||||
List<IMEInventoryHandler> getCellArray(StorageChannel channel);
|
List<IMEInventoryHandler> getCellArray( StorageChannel channel );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the storage's priority.
|
* the storage's priority.
|
||||||
@@ -48,5 +50,4 @@ public interface ICellProvider
|
|||||||
* Positive and negative are supported
|
* Positive and negative are supported
|
||||||
*/
|
*/
|
||||||
int getPriority();
|
int getPriority();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import net.minecraft.item.ItemStack;
|
|||||||
|
|
||||||
import appeng.api.IAppEngApi;
|
import appeng.api.IAppEngApi;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage Cell Registry, used for specially implemented cells, if you just want to make a item act like a cell, or new
|
* Storage Cell Registry, used for specially implemented cells, if you just want to make a item act like a cell, or new
|
||||||
* cell with different bytes, then you should probably consider IStorageCell instead its considerably simpler.
|
* cell with different bytes, then you should probably consider IStorageCell instead its considerably simpler.
|
||||||
@@ -42,34 +43,35 @@ public interface ICellRegistry
|
|||||||
*
|
*
|
||||||
* @param handler cell handler
|
* @param handler cell handler
|
||||||
*/
|
*/
|
||||||
void addCellHandler(ICellHandler handler);
|
void addCellHandler( ICellHandler handler );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* return true, if you can get a InventoryHandler for the item passed.
|
* return true, if you can get a InventoryHandler for the item passed.
|
||||||
*
|
*
|
||||||
* @param is to be checked item
|
* @param is to be checked item
|
||||||
|
*
|
||||||
* @return true if the provided item, can be handled by a handler in AE, ( AE May choose to skip this and just get
|
* @return true if the provided item, can be handled by a handler in AE, ( AE May choose to skip this and just get
|
||||||
* the handler instead. )
|
* the handler instead. )
|
||||||
*/
|
*/
|
||||||
boolean isCellHandled(ItemStack is);
|
boolean isCellHandled( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the handler, for the requested type.
|
* get the handler, for the requested type.
|
||||||
*
|
*
|
||||||
* @param is to be checked item
|
* @param is to be checked item
|
||||||
|
*
|
||||||
* @return the handler registered for this item type.
|
* @return the handler registered for this item type.
|
||||||
*/
|
*/
|
||||||
ICellHandler getHandler(ItemStack is);
|
ICellHandler getHandler( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns an IMEInventoryHandler for the provided item.
|
* returns an IMEInventoryHandler for the provided item.
|
||||||
*
|
*
|
||||||
* @param is item with inventory handler
|
* @param is item with inventory handler
|
||||||
* @param host can be null, or the hosting tile / part.
|
* @param host can be null, or the hosting tile / part.
|
||||||
* @param chan the storage channel to request the handler for.
|
* @param chan the storage channel to request the handler for.
|
||||||
*
|
*
|
||||||
* @return new IMEInventoryHandler, or null if there isn't one.
|
* @return new IMEInventoryHandler, or null if there isn't one.
|
||||||
*/
|
*/
|
||||||
IMEInventoryHandler getCellInventory(ItemStack is, ISaveProvider host, StorageChannel chan);
|
IMEInventoryHandler getCellInventory( ItemStack is, ISaveProvider host, StorageChannel chan );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -29,6 +29,7 @@ import net.minecraft.item.ItemStack;
|
|||||||
|
|
||||||
import appeng.api.config.FuzzyMode;
|
import appeng.api.config.FuzzyMode;
|
||||||
|
|
||||||
|
|
||||||
public interface ICellWorkbenchItem
|
public interface ICellWorkbenchItem
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -36,9 +37,10 @@ public interface ICellWorkbenchItem
|
|||||||
* if this return false, the item will not be treated as a cell, and cannot be inserted into the work bench.
|
* if this return false, the item will not be treated as a cell, and cannot be inserted into the work bench.
|
||||||
*
|
*
|
||||||
* @param is item
|
* @param is item
|
||||||
|
*
|
||||||
* @return true if the item should be editable in the cell workbench.
|
* @return true if the item should be editable in the cell workbench.
|
||||||
*/
|
*/
|
||||||
boolean isEditable(ItemStack is);
|
boolean isEditable( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* used to edit the upgrade slots on your cell, should have a capacity of 0-24, you are also responsible for
|
* used to edit the upgrade slots on your cell, should have a capacity of 0-24, you are also responsible for
|
||||||
@@ -46,7 +48,7 @@ public interface ICellWorkbenchItem
|
|||||||
*
|
*
|
||||||
* onInventoryChange will be called when saving is needed.
|
* onInventoryChange will be called when saving is needed.
|
||||||
*/
|
*/
|
||||||
IInventory getUpgradesInventory(ItemStack is);
|
IInventory getUpgradesInventory( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to extract, or mirror the contents of the work bench onto the cell.
|
* Used to extract, or mirror the contents of the work bench onto the cell.
|
||||||
@@ -55,16 +57,15 @@ public interface ICellWorkbenchItem
|
|||||||
*
|
*
|
||||||
* onInventoryChange will be called when saving is needed.
|
* onInventoryChange will be called when saving is needed.
|
||||||
*/
|
*/
|
||||||
IInventory getConfigInventory(ItemStack is);
|
IInventory getConfigInventory( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the current fuzzy status.
|
* @return the current fuzzy status.
|
||||||
*/
|
*/
|
||||||
FuzzyMode getFuzzyMode(ItemStack is);
|
FuzzyMode getFuzzyMode( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sets the setting on the cell.
|
* sets the setting on the cell.
|
||||||
*/
|
*/
|
||||||
void setFuzzyMode(ItemStack is, FuzzyMode fzMode);
|
void setFuzzyMode( ItemStack is, FuzzyMode fzMode );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
|
|
||||||
import appeng.api.networking.security.BaseActionSource;
|
import appeng.api.networking.security.BaseActionSource;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Registration Record for {@link IExternalStorageRegistry}
|
* A Registration Record for {@link IExternalStorageRegistry}
|
||||||
*/
|
*/
|
||||||
@@ -39,11 +40,12 @@ public interface IExternalStorageHandler
|
|||||||
* if this can handle the provided inventory, return true. ( Generally skipped by AE, and it just calls getInventory
|
* if this can handle the provided inventory, return true. ( Generally skipped by AE, and it just calls getInventory
|
||||||
* )
|
* )
|
||||||
*
|
*
|
||||||
* @param te to be handled tile entity
|
* @param te to be handled tile entity
|
||||||
* @param mySrc source
|
* @param mySrc source
|
||||||
|
*
|
||||||
* @return true, if it can get a handler via getInventory
|
* @return true, if it can get a handler via getInventory
|
||||||
*/
|
*/
|
||||||
boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource mySrc);
|
boolean canHandle( TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource mySrc );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* if this can handle the given inventory, return the a IMEInventory implementing class for it, if not return null
|
* if this can handle the given inventory, return the a IMEInventory implementing class for it, if not return null
|
||||||
@@ -51,12 +53,12 @@ public interface IExternalStorageHandler
|
|||||||
* please note that if your inventory changes and requires polling, you must use an {@link IMEMonitor} instead of an
|
* please note that if your inventory changes and requires polling, you must use an {@link IMEMonitor} instead of an
|
||||||
* {@link IMEInventory} failure to do so will result in invalid item counts and reporting of the inventory.
|
* {@link IMEInventory} failure to do so will result in invalid item counts and reporting of the inventory.
|
||||||
*
|
*
|
||||||
* @param te to be handled tile entity
|
* @param te to be handled tile entity
|
||||||
* @param d direction
|
* @param d direction
|
||||||
* @param channel channel
|
* @param channel channel
|
||||||
* @param src source
|
* @param src source
|
||||||
|
*
|
||||||
* @return The Handler for the inventory
|
* @return The Handler for the inventory
|
||||||
*/
|
*/
|
||||||
IMEInventory getInventory(TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource src);
|
IMEInventory getInventory( TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource src );
|
||||||
|
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user