summaryrefslogtreecommitdiff
path: root/eclipse/.metadata
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-06-17 08:12:18 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-06-17 08:12:18 +0300
commitdc3df3edd5843bde0c1335d6a8e460b2c832aa48 (patch)
treeaf13bfeee567f2351e35e1ef176d168fe37c8aac /eclipse/.metadata
parent1da8dcd58647e34c9af94ceeecaeaf3b0d08c48c (diff)
full project files
Diffstat (limited to 'eclipse/.metadata')
-rw-r--r--eclipse/.metadata/.lock0
-rw-r--r--eclipse/.metadata/.log10292
-rw-r--r--eclipse/.metadata/.mylyn/repositories.xml.zipbin0 -> 437 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/4090a85b46a3001516ebc455efc032e5112
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0d1122b11a000151fdfc2dacce472e3109
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/23/200ef4dc19910015138fc97f11b3d08b303
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/0034395f7f8b0015134481ec712b17ae316
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/3087c516499b001510c7de20d4b3838c0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/90354db2158e00151544f45b8684d31e390
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4/50d57f047194001516739e804437c3f8494
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/e07bf28042b60015176c95ddaf2504ce578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/401f465e708b0015134481ec712b17ae207
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/2010220b148e00151544f45b8684d31e318
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/49/80b79e1a088e00151544f45b8684d31e370
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4d/60b1517d5da3001518cde17cb509661c128
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4f/a08480c30bb300151351fd9e9a996bbe162
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/53/7096612146a3001516ebc455efc032e5101
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/e0c732e253a3001516ebc455efc032e5120
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/600afeecd8b20015115782a55d40af78395
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/63/b026503b5ea3001518cde17cb509661c141
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/a0f3e06d7d8b0015134481ec712b17ae315
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/2052af7b0b8e00151544f45b8684d31e371
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/3026c575748b0015134481ec712b17ae307
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/40b9d805088e00151544f45b8684d31e364
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/106e4eb2158e00151544f45b8684d31e321
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/7054990556b400151e8fcdb87a141443567
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/c064fb3543b60015176c95ddaf2504ce578
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/0003ff6a758b0015134481ec712b17ae312
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/90232f55a7ca001510f7df4278c93a7e949
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/b01bf4eb46a3001516ebc455efc032e5112
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/b0b1b07b0b8e00151544f45b8684d31e260
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700d2b9561b500151fdb993ef9230294572
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a0/00f7674b748b0015134481ec712b17ae274
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/b0dbc47f07a50015138cc582c427ac9166
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/f042703fd8b20015115782a55d40af78395
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/d037e47347a3001516ebc455efc032e5113
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/b025dae449a3001516ebc455efc032e5116
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/a00189f69cb4001510d7bdb0b1be77c9934
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bf/907f1ce250b400151e8fcdb87a141443564
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/10184eb91baa00151263eb9882e2ad6786
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/f0339bee53a3001516ebc455efc032e5125
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/e006f2ab27bc001514d3de1c0800049b269
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/b0083d60a7ca001510f7df4278c93a7e935
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/50f158a8d9e200151b3e8eaec212bcd4878
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/dc/50374e2ca4e00015119a88e59fd033e2146
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/b02f8eb743a000151531bed9130b5444391
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/5015a2ff41b60015176c95ddaf2504ce573
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d7200b148e00151544f45b8684d31e376
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d88773a7ca001510f7df4278c93a7e934
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/b0676a5333b500151a77dabf7b9b4d77526
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/40c790ca5da3001518cde17cb509661c141
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/10871e5d49a3001516ebc455efc032e5113
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.locationbin0 -> 97 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markersbin0 -> 5247 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/3.treebin0 -> 575018 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.datbin0 -> 570376 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.indexbin0 -> 151 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/113.treebin0 -> 410 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resourcesbin0 -> 1430 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs7
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ui.prefs3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs20
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs20
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs5
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.ui.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs10
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client.launch13
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch11
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server.launch13
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml16
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml19
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi2444
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdtbin0 -> 11 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdxbin0 -> 12 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tiibin0 -> 24 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tisbin0 -> 24 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.genbin0 -> 20 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1bin0 -> 248 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdtbin0 -> 11 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdxbin0 -> 12 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tiibin0 -> 24 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tisbin0 -> 24 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.genbin0 -> 20 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1bin0 -> 248 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.equinox.p2.ui/dialog_settings.xml5
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCachebin0 -> 4 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCachebin0 -> 4 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStampsbin0 -> 8463 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCachebin0 -> 4 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCachebin0 -> 7464 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt66
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.datbin0 -> 173 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml41
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml63
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml71
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/devhelp.libhoverbin0 -> 39852 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/glibc_library.libhoverbin0 -> 1041481 bytes
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.history4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.index1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.index2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.history4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.index1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.index5
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.index14
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.index4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.index4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.index2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.index3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.history3
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.index4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.history4
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.index1
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml17
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml43
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup6
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.rse.core/.log0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/FP.local.files_0/node.properties57
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/H.local_16/node.properties25
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/node.properties7
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.rse.ui/.log0
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.search/dialog_settings.xml169
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.team.ui/syncParticipants.xml2
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml5
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml38
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml21
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml165
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml5
-rw-r--r--eclipse/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties3
-rw-r--r--eclipse/.metadata/version.ini3
171 files changed, 31053 insertions, 0 deletions
diff --git a/eclipse/.metadata/.lock b/eclipse/.metadata/.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.lock
diff --git a/eclipse/.metadata/.log b/eclipse/.metadata/.log
new file mode 100644
index 0000000..b745986
--- /dev/null
+++ b/eclipse/.metadata/.log
@@ -0,0 +1,10292 @@
+!SESSION 2015-11-14 12:24:54.907 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-14 12:25:32.017
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-14 12:55:03.318
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-14 12:55:03.319
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@204baceb,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@484588dd,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-15 08:55:01.125 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-15 08:55:31.303
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-15 14:07:43.669 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-15 14:07:47.820
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-15 14:08:05.931
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-15 15:05:10.914
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-15 15:05:10.914
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@16bc2674,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1a809555,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-15 16:06:55.650 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-15 16:07:16.554
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-15 16:12:06.854
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-15 16:12:06.855
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@199e8fcc,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@78f2a737,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-16 19:28:56.066 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-16 19:29:18.152
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-16 19:35:27.664 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-16 19:35:31.873
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-16 19:35:49.509
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-17 20:00:54.796 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-17 21:16:17.072
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-18 17:23:03.688 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-18 17:23:26.486
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-18 20:28:50.442 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-18 20:28:55.441
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-18 20:29:13.475
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-19 17:30:56.027 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-19 17:31:01.033
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-19 17:31:19.033
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-19 19:23:50.063
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-19 19:23:50.063
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@55852e21,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1a97a464,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-20 18:00:10.466 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-20 18:01:36.259
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-20 18:16:32.723
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-20 18:16:32.723
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58d15a11,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@18703fa5,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-20 23:33:14.893 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-20 23:33:39.454
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-20 23:38:37.128
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-20 23:38:37.128
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@163cb8df,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6c8d43e0,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-21 10:02:26.915 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-21 10:07:36.706
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-21 10:44:10.721
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-21 10:44:10.721
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58e15380,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@31312616,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-21 22:34:28.000 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-21 22:34:50.494
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-22 10:07:58.549 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-22 10:08:25.780
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.ui 4 0 2015-11-22 11:51:20.767
+!MESSAGE Unhandled event loop exception
+!STACK 0
+java.lang.IllegalArgumentException: Argument cannot be null
+ at org.eclipse.swt.SWT.error(SWT.java:4378)
+ at org.eclipse.swt.SWT.error(SWT.java:4312)
+ at org.eclipse.swt.SWT.error(SWT.java:4283)
+ at org.eclipse.swt.widgets.Widget.error(Widget.java:481)
+ at org.eclipse.swt.widgets.Control.removeMouseMoveListener(Control.java:2075)
+ at org.eclipse.jface.text.AbstractInformationControl$5.mouseUp(AbstractInformationControl.java:403)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jface 2 0 2015-11-22 13:44:00.010
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-22 13:44:00.010
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@785d4bc8,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@351a7534,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-22 16:09:10.627 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-22 16:09:14.166
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-22 16:09:32.069
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-22 16:20:02.117
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-22 16:20:02.117
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2a814b52,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@e780a4b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-23 19:21:15.689 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-23 19:21:38.895
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-24 19:13:38.741 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-24 19:13:48.260
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-24 19:14:06.417
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-25 20:09:51.910 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-25 20:09:56.380
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-25 20:10:14.626
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-26 20:58:45.849 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-26 20:59:08.332
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-26 21:21:23.390
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-26 21:21:23.390
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@13026472,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@210821e,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-28 22:24:38.280 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-11-28 22:24:42.513
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-28 22:25:00.777
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-28 23:23:51.693 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-28 23:24:12.609
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-11-29 08:49:47.322 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-29 08:50:33.627
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 10:58:17.457
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 10:58:17.459
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 10:58:17.500
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 10:58:17.500
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 10:58:19.596
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.getClipboardData(ClipboardOperationAction.java:449)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.doCutCopyWithImportsOperation(ClipboardOperationAction.java:376)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.internalDoOperation(ClipboardOperationAction.java:330)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction$1.run(ClipboardOperationAction.java:278)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.run(ClipboardOperationAction.java:276)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
+ at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
+ at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
+ at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
+ at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:285)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:504)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:555)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:376)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:322)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:84)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1554)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1391)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1416)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1401)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1428)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:829)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3236)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:758)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2096)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5467)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4569)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8756)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1243)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2302)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3361)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 10:58:19.597
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.getClipboardData(ClipboardOperationAction.java:449)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.doCutCopyWithImportsOperation(ClipboardOperationAction.java:376)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.internalDoOperation(ClipboardOperationAction.java:330)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction$1.run(ClipboardOperationAction.java:278)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.run(ClipboardOperationAction.java:276)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
+ at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
+ at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
+ at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
+ at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:285)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:504)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:555)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:376)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:322)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:84)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1554)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1391)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1416)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1401)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1428)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:829)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3236)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:758)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2096)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5467)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4569)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8756)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1243)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2302)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3361)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 10:58:19.697
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 10:58:19.698
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:09.766
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:09.767
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:09.803
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:09.804
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:17.402
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:17.403
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:18.730
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:18.730
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:18.764
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.getClipboardData(ClipboardOperationAction.java:449)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.doCutCopyWithImportsOperation(ClipboardOperationAction.java:376)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.internalDoOperation(ClipboardOperationAction.java:330)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction$1.run(ClipboardOperationAction.java:278)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.run(ClipboardOperationAction.java:276)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
+ at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
+ at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
+ at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
+ at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:285)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:504)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:555)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:376)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:322)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:84)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1554)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1391)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1416)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1401)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1428)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:829)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3236)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:758)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2096)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5467)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4569)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8756)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1243)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2302)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3361)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:18.765
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.getClipboardData(ClipboardOperationAction.java:449)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.doCutCopyWithImportsOperation(ClipboardOperationAction.java:376)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.internalDoOperation(ClipboardOperationAction.java:330)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction$1.run(ClipboardOperationAction.java:278)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jdt.internal.ui.javaeditor.ClipboardOperationAction.run(ClipboardOperationAction.java:276)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
+ at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
+ at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
+ at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
+ at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:285)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:504)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:555)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:376)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:322)
+ at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:84)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1554)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1391)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1416)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1401)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1428)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:829)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3236)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:758)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2096)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5467)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4569)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8756)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1243)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2302)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3361)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:20.437
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:20.438
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:29.580
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:29.580
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:29.700
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:29.700
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:30.312
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:30.312
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:30.935
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:30.935
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:32.615
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:32.616
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:32.647
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:32.648
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:33.649
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:33.650
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:50.326
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:50.327
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:50.355
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:50.355
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:51.864
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:51.866
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:52.099
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:52.099
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:53.902
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:53.902
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:53.935
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:53.935
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:55.438
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:55.439
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:55.912
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:55.912
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:291)
+ at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1207)
+ at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:807)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)
+ at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)
+ at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:21:57.971
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:21:57.971
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException: org.eclipse.jdt.core.dom.EnumDeclaration cannot be cast to org.eclipse.jdt.core.dom.TypeDeclaration
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2454)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:537)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:00.007
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:00.007
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:00.713
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:00.713
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:04.041
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:04.041
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:04.924
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:04.925
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:04.993
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:04.993
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:06.070
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:06.071
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:06.282
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:06.282
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:08.110
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:08.110
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:08.140
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:08.141
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:09.645
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:09.645
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:09.677
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:09.678
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:13.197
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:13.198
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:16.039
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:16.039
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:22:16.200
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:22:16.200
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:49:52.361
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:49:52.361
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:49:52.950
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:49:52.951
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-11-29 11:49:53.979
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jdt.ui 4 0 2015-11-29 11:49:53.980
+!MESSAGE Error in JDT Core during AST creation
+!STACK 0
+java.lang.ClassCastException
+
+!ENTRY org.eclipse.jface 2 0 2015-11-29 12:38:50.652
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-29 12:38:50.652
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@254d77b1,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@ed1899,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-11-30 18:39:05.311 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-11-30 18:39:28.047
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-11-30 19:36:13.854
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-11-30 19:36:13.854
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@743bc1a4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7f263199,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-01 20:50:48.668 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-01 20:52:21.982
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-02 20:08:22.792 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-02 20:08:29.419
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-02 20:08:47.611
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-03 20:01:12.807 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-03 20:01:35.765
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-04 18:35:29.674 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-04 18:35:53.000
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-04 18:51:30.677
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-04 18:51:30.677
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7da5f8e4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1b77812e,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+
+!ENTRY org.eclipse.jdt.ui 4 10001 2015-12-04 19:58:59.466
+!MESSAGE Internal Error
+!STACK 1
+Java Model Exception: Java Model Status [redstoneSignalConverterSensorSide [in MachineBaseBlock [in [Working copy] MachineBaseBlock.java [in ihl.items_blocks [in src/main/java [in Minecraft]]]]] does not exist]
+ at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244)
+ at org.eclipse.jdt.internal.core.SourceField.getTypeSignature(SourceField.java:135)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDeclaredTypeDetector.getTypeSignature(JavaElementHyperlinkDeclaredTypeDetector.java:76)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDeclaredTypeDetector.addHyperlinks(JavaElementHyperlinkDeclaredTypeDetector.java:46)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(JavaElementHyperlinkDetector.java:114)
+ at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SUBENTRY 1 org.eclipse.jdt.core 4 969 2015-12-04 19:58:59.468
+!MESSAGE redstoneSignalConverterSensorSide [in MachineBaseBlock [in [Working copy] MachineBaseBlock.java [in ihl.items_blocks [in src/main/java [in Minecraft]]]]] does not exist
+!SESSION 2015-12-05 09:11:51.373 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-05 09:12:16.354
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-05 15:10:23.324 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-05 15:10:28.096
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-05 15:10:47.758
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-06 10:38:28.301 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-06 10:38:53.126
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-09 21:14:57.005 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-09 21:15:19.197
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-10 20:21:21.067 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-10 20:21:43.536
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-11 15:57:53.191 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-11 15:58:15.769
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-11 20:28:32.672 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-11 20:28:37.630
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-11 20:28:56.049
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-11 21:55:03.591
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-11 21:55:03.591
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@27ef6750,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5667c9ab,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-11 23:12:45.423 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-11 23:13:07.913
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-12 09:47:17.738 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-12 09:47:23.140
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-12 09:47:41.725
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-12 09:55:49.412
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-12 09:55:49.412
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@27aba7dc,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@769970dc,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-13 10:56:15.896 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-13 10:56:40.219
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-13 11:26:56.648 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-13 11:27:04.363
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-13 11:27:23.794
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-13 13:09:15.497
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-13 13:09:15.497
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4a79e2d3,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@81ab0d8,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+
+!ENTRY org.eclipse.text 4 2 2015-12-13 16:40:40.408
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.text".
+!STACK 0
+java.lang.IllegalArgumentException: Index out of bounds
+ at org.eclipse.swt.SWT.error(SWT.java:4378)
+ at org.eclipse.swt.SWT.error(SWT.java:4312)
+ at org.eclipse.swt.SWT.error(SWT.java:4283)
+ at org.eclipse.swt.graphics.TextLayout._getOffset(TextLayout.java:1195)
+ at org.eclipse.swt.graphics.TextLayout.getPreviousOffset(TextLayout.java:1392)
+ at org.eclipse.swt.custom.StyledText.getPointAtOffset(StyledText.java:5423)
+ at org.eclipse.swt.custom.StyledText.setCaretLocation(StyledText.java:8415)
+ at org.eclipse.swt.custom.StyledText.updateSelection(StyledText.java:10247)
+ at org.eclipse.swt.custom.StyledText.handleTextChanged(StyledText.java:6226)
+ at org.eclipse.swt.custom.StyledText$6.textChanged(StyledText.java:5616)
+ at org.eclipse.ui.internal.console.ConsoleDocumentAdapter.documentChanged(ConsoleDocumentAdapter.java:375)
+ at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:769)
+ at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:736)
+ at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:721)
+ at org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:796)
+ at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1191)
+ at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1210)
+ at org.eclipse.ui.internal.console.ConsoleDocument.replace(ConsoleDocument.java:82)
+ at org.eclipse.ui.internal.console.IOConsolePartitioner$TrimJob.runInUIThread(IOConsolePartitioner.java:652)
+ at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3717)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3366)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SESSION 2015-12-14 08:55:44.523 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-14 08:56:07.052
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-14 15:31:57.350
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-14 15:31:57.350
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@749045df,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2bdb6f42,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-15 11:33:43.406 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-15 11:34:05.440
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-15 12:31:57.613
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-15 12:31:57.613
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@44753c7b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6cd5d259,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-15 21:30:26.357 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-15 21:30:29.983
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-15 21:30:48.241
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-15 21:42:13.769
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-15 21:42:13.769
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@593233cd,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6ee7057a,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-16 11:08:51.837 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-16 11:08:55.906
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-16 11:09:14.464
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-16 19:22:15.540
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-16 19:22:15.540
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1e51b0a,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@68522e7e,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-17 12:22:45.318 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-17 12:23:08.949
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-18 00:43:52.664 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-18 00:44:15.841
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-18 00:48:34.165 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-18 00:49:06.121
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-18 11:05:25.467 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-18 11:05:48.483
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-18 19:27:17.656
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-18 19:27:17.656
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@cb6b0ad,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2e093460,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-19 11:43:48.439 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-19 11:44:10.358
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-19 16:06:07.895
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-19 16:06:07.895
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7b68f252,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@26fd24ca,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-12-19 20:19:29.930
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.jdt.internal.ui.text.correction.ASTResolving.internalGetPossibleTypeKinds(ASTResolving.java:845)
+ at org.eclipse.jdt.internal.ui.text.correction.ASTResolving.getPossibleTypeKinds(ASTResolving.java:803)
+ at org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.evauateTypeKind(UnresolvedElementsSubProcessor.java:586)
+ at org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.getTypeProposals(UnresolvedElementsSubProcessor.java:599)
+ at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.process(QuickFixProcessor.java:359)
+ at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.getCorrections(QuickFixProcessor.java:300)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionCollector.safeRun(JavaCorrectionProcessor.java:378)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionProcessorAccess.run(JavaCorrectionProcessor.java:339)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionProcessorAccess.process(JavaCorrectionProcessor.java:335)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.collectCorrections(JavaCorrectionProcessor.java:468)
+ at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getJavaAnnotationFixes(ProblemHover.java:225)
+ at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getCompletionProposals(ProblemHover.java:199)
+ at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.deferredCreateContent(AbstractAnnotationHover.java:285)
+ at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.setInput(AbstractAnnotationHover.java:186)
+ at org.eclipse.jface.text.AbstractInformationControlManager.internalShowInformationControl(AbstractInformationControlManager.java:1181)
+ at org.eclipse.jface.text.AbstractInformationControlManager.presentInformation(AbstractInformationControlManager.java:1150)
+ at org.eclipse.jface.text.AbstractHoverInformationControlManager.presentInformation(AbstractHoverInformationControlManager.java:902)
+ at org.eclipse.jface.text.TextViewerHoverManager.doPresentInformation(TextViewerHoverManager.java:243)
+ at org.eclipse.jface.text.TextViewerHoverManager$5.run(TextViewerHoverManager.java:233)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3717)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3366)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-12-19 20:19:32.446
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.jdt.internal.ui.text.correction.ASTResolving.internalGetPossibleTypeKinds(ASTResolving.java:845)
+ at org.eclipse.jdt.internal.ui.text.correction.ASTResolving.getPossibleTypeKinds(ASTResolving.java:803)
+ at org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.evauateTypeKind(UnresolvedElementsSubProcessor.java:586)
+ at org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.getTypeProposals(UnresolvedElementsSubProcessor.java:599)
+ at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.process(QuickFixProcessor.java:359)
+ at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.getCorrections(QuickFixProcessor.java:300)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionCollector.safeRun(JavaCorrectionProcessor.java:378)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionProcessorAccess.run(JavaCorrectionProcessor.java:339)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionProcessorAccess.process(JavaCorrectionProcessor.java:335)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.collectCorrections(JavaCorrectionProcessor.java:468)
+ at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getJavaAnnotationFixes(ProblemHover.java:225)
+ at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getCompletionProposals(ProblemHover.java:199)
+ at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.deferredCreateContent(AbstractAnnotationHover.java:285)
+ at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.setInput(AbstractAnnotationHover.java:186)
+ at org.eclipse.jface.text.AbstractInformationControlManager.internalShowInformationControl(AbstractInformationControlManager.java:1181)
+ at org.eclipse.jface.text.AbstractInformationControlManager.presentInformation(AbstractInformationControlManager.java:1150)
+ at org.eclipse.jface.text.AbstractHoverInformationControlManager.presentInformation(AbstractHoverInformationControlManager.java:902)
+ at org.eclipse.jface.text.TextViewerHoverManager.doPresentInformation(TextViewerHoverManager.java:243)
+ at org.eclipse.jface.text.TextViewerHoverManager$5.run(TextViewerHoverManager.java:233)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3717)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3366)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2015-12-19 20:19:36.768
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.jdt.internal.ui.text.correction.ASTResolving.internalGetPossibleTypeKinds(ASTResolving.java:845)
+ at org.eclipse.jdt.internal.ui.text.correction.ASTResolving.getPossibleTypeKinds(ASTResolving.java:803)
+ at org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.evauateTypeKind(UnresolvedElementsSubProcessor.java:586)
+ at org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.getTypeProposals(UnresolvedElementsSubProcessor.java:599)
+ at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.process(QuickFixProcessor.java:359)
+ at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.getCorrections(QuickFixProcessor.java:300)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionCollector.safeRun(JavaCorrectionProcessor.java:378)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionProcessorAccess.run(JavaCorrectionProcessor.java:339)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor$SafeCorrectionProcessorAccess.process(JavaCorrectionProcessor.java:335)
+ at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.collectCorrections(JavaCorrectionProcessor.java:468)
+ at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getJavaAnnotationFixes(ProblemHover.java:225)
+ at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getCompletionProposals(ProblemHover.java:199)
+ at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.deferredCreateContent(AbstractAnnotationHover.java:285)
+ at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.setInput(AbstractAnnotationHover.java:186)
+ at org.eclipse.jface.text.AbstractInformationControlManager.internalShowInformationControl(AbstractInformationControlManager.java:1181)
+ at org.eclipse.jface.text.AbstractInformationControlManager.presentInformation(AbstractInformationControlManager.java:1150)
+ at org.eclipse.jface.text.AbstractHoverInformationControlManager.presentInformation(AbstractHoverInformationControlManager.java:902)
+ at org.eclipse.jface.text.TextViewerHoverManager.doPresentInformation(TextViewerHoverManager.java:243)
+ at org.eclipse.jface.text.TextViewerHoverManager$5.run(TextViewerHoverManager.java:233)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3717)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3366)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SESSION 2015-12-20 02:06:47.916 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-20 02:07:10.547
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-20 04:35:36.809 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-20 04:35:59.204
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-20 11:52:50.446 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-20 12:14:33.793
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-20 14:20:49.672
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-20 14:20:49.672
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4212df4f,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6502dd6c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-20 19:19:11.247 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-20 19:19:35.374
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-20 19:32:55.637
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-20 19:32:55.637
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58022901,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@75d22dca,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-21 13:23:37.104 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-21 13:24:00.137
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-21 13:45:09.811
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-21 13:45:09.811
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@15b1c5f1,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4a3a5c57,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-22 02:37:50.185 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-22 02:38:20.667
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-22 02:56:28.098
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-22 02:56:28.098
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5921ca36,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3962ccf1,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+
+!ENTRY org.eclipse.ui 4 0 2015-12-22 02:56:28.295
+!MESSAGE Unhandled event loop exception
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.e4.ui.workbench.addons.dndaddon.DetachedDropAgent.drop(DetachedDropAgent.java:60)
+ at org.eclipse.e4.ui.workbench.addons.dndaddon.DragAgent.dragFinished(DragAgent.java:159)
+ at org.eclipse.e4.ui.workbench.addons.dndaddon.PartDragAgent.dragFinished(PartDragAgent.java:105)
+ at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.finishDrag(DnDManager.java:271)
+ at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.startDrag(DnDManager.java:238)
+ at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager$1.dragDetected(DnDManager.java:88)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:127)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SESSION 2015-12-22 20:36:32.109 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-22 20:37:00.406
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-22 22:49:35.698 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-22 22:49:59.230
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-23 00:48:44.240 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-23 00:49:06.658
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-23 12:54:41.414 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-23 12:55:03.541
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-23 19:38:23.508
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-23 19:38:23.508
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3f45da88,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@30e372c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-23 19:41:31.121 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-23 19:41:41.548
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-23 19:41:59.216
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-23 20:21:03.897
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-23 20:21:03.897
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@708e4521,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@c5cb342,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-24 11:29:56.581 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-24 11:30:18.196
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-24 11:56:56.203 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-24 11:57:01.010
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-24 11:57:19.510
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-24 12:01:45.469
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-24 12:01:45.470
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@29384591,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2d5f47bb,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-24 21:38:49.842 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-24 21:39:14.159
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-24 22:03:25.448
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-24 22:03:25.448
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58822721,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@48d714ec,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-25 00:50:38.558 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-25 00:51:00.252
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-25 01:30:10.069
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-25 01:30:10.069
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2c89b1fd,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4046fe3,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-25 14:12:12.100 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-25 14:12:34.416
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-26 17:51:54.522 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-26 17:52:16.709
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.core.resources 4 566 2015-12-27 01:20:50.367
+!MESSAGE Workspace was not properly initialized or has already shutdown.
+
+!ENTRY org.eclipse.core.jobs 4 1 2015-12-27 01:20:50.369
+!MESSAGE Worker thread ended job: Refreshing workspace(10), but still holds rule: ThreadJob(Refreshing workspace(10),[F/Minecraft/bin/codechicken/lib])
+!SESSION 2015-12-27 13:03:54.942 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-27 13:04:16.620
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-27 19:02:53.083
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-27 19:02:53.083
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3d40fe96,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@760a4944,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-28 17:05:39.702 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-28 17:05:44.340
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-28 17:06:02.208
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-28 18:37:43.376
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-28 18:37:43.376
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1ff6548c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6528c3b8,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-29 19:47:40.515 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-29 19:48:02.972
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-30 17:23:30.220 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-30 17:23:52.922
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-30 20:11:11.316
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-30 20:11:11.316
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@50e8f71b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6eb7371c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-30 23:22:15.103 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2015-12-30 23:22:20.572
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-30 23:22:38.394
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2015-12-31 09:54:30.934 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-31 09:54:55.948
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-31 11:44:14.233
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-31 11:44:14.233
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3c002172,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2c93e224,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-31 14:54:40.486 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-31 15:20:38.593
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-31 15:36:32.746
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-31 15:36:32.746
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@15a0a62c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@65fd9dcb,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2015-12-31 15:50:41.026 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2015-12-31 15:51:02.009
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2015-12-31 16:28:51.078
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2015-12-31 16:28:51.078
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@41fca8da,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@32b1a20e,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-01 09:54:20.747 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-01 09:57:34.015
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-01 19:10:19.932
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-01 19:10:19.932
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@359c4993,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@27a26d64,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-02 11:32:11.936 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-02 11:32:35.153
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-02 12:25:21.827
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-02 12:25:21.827
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6656239f,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@213cd036,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-03 12:44:45.902 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-03 12:45:08.106
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-03 15:08:18.582
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-03 15:08:18.582
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@52a9048a,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@56692a6b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-04 14:34:56.153 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-04 14:35:17.935
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-04 20:45:34.937 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-04 20:45:43.457
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-04 20:46:01.619
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-05 20:34:30.377 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-05 20:34:34.788
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-05 20:34:53.565
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-05 21:27:44.390
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-05 21:27:44.390
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3a2854d3,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2dd90679,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+
+!ENTRY org.eclipse.jdt.ui 4 10001 2016-01-05 22:01:15.870
+!MESSAGE Internal Error
+!STACK 1
+Java Model Exception: Java Model Status [onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist]
+ at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244)
+ at org.eclipse.jdt.internal.core.Member.getFlags(Member.java:164)
+ at org.eclipse.jdt.internal.corext.util.JdtFlags.isPrivate(JdtFlags.java:100)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkSuperImplementationDetector.isOverriddenMethod(JavaElementHyperlinkSuperImplementationDetector.java:54)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkSuperImplementationDetector.addHyperlinks(JavaElementHyperlinkSuperImplementationDetector.java:41)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(JavaElementHyperlinkDetector.java:114)
+ at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SUBENTRY 1 org.eclipse.jdt.core 4 969 2016-01-05 22:01:15.873
+!MESSAGE onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist
+
+!ENTRY org.eclipse.jdt.ui 4 10001 2016-01-05 22:01:15.874
+!MESSAGE Internal Error
+!STACK 1
+Java Model Exception: Java Model Status [onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist]
+ at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244)
+ at org.eclipse.jdt.internal.core.SourceMethod.getReturnType(SourceMethod.java:188)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkReturnTypeDetector.addHyperlinks(JavaElementHyperlinkReturnTypeDetector.java:43)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(JavaElementHyperlinkDetector.java:114)
+ at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SUBENTRY 1 org.eclipse.jdt.core 4 969 2016-01-05 22:01:15.875
+!MESSAGE onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist
+
+!ENTRY org.eclipse.jdt.ui 4 10001 2016-01-05 22:01:15.909
+!MESSAGE Internal Error
+!STACK 1
+Java Model Exception: Java Model Status [onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist]
+ at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244)
+ at org.eclipse.jdt.internal.core.Member.getFlags(Member.java:164)
+ at org.eclipse.jdt.internal.corext.util.JdtFlags.isPrivate(JdtFlags.java:100)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkSuperImplementationDetector.isOverriddenMethod(JavaElementHyperlinkSuperImplementationDetector.java:54)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkSuperImplementationDetector.addHyperlinks(JavaElementHyperlinkSuperImplementationDetector.java:41)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(JavaElementHyperlinkDetector.java:114)
+ at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SUBENTRY 1 org.eclipse.jdt.core 4 969 2016-01-05 22:01:15.910
+!MESSAGE onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist
+
+!ENTRY org.eclipse.jdt.ui 4 10001 2016-01-05 22:01:15.911
+!MESSAGE Internal Error
+!STACK 1
+Java Model Exception: Java Model Status [onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist]
+ at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244)
+ at org.eclipse.jdt.internal.core.SourceMethod.getReturnType(SourceMethod.java:188)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkReturnTypeDetector.addHyperlinks(JavaElementHyperlinkReturnTypeDetector.java:43)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(JavaElementHyperlinkDetector.java:114)
+ at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
+ at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SUBENTRY 1 org.eclipse.jdt.core 4 969 2016-01-05 22:01:15.911
+!MESSAGE onPlayerTeleport(PlayerChangedDimensionEvent)#2 [in ServerProxy [in [Working copy] ServerProxy.java [in ihl [in src/main/java [in Minecraft]]]]] does not exist
+!SESSION 2016-01-06 10:43:16.217 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-06 10:43:38.397
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-06 17:12:38.745 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-06 17:12:42.946
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-06 17:13:01.851
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-06 19:00:08.874
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-06 19:00:08.874
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5abcc6c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@51f9c95c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-07 12:01:19.783 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-07 12:01:24.071
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-07 12:01:42.614
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-07 16:18:43.894 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-07 16:18:47.910
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-07 16:19:06.449
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-07 16:57:05.877 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-07 16:57:40.872
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-08 22:54:47.868 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-08 22:54:52.237
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-08 22:55:11.004
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-09 11:25:44.660 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-09 11:25:48.957
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-09 11:26:07.913
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-09 12:01:20.257
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-09 12:01:20.257
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6ddc923c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2c04d97d,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-09 20:41:04.715 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-09 20:41:13.004
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-09 20:41:30.851
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-10 15:07:49.346 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-10 15:08:14.238
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-10 15:26:24.190
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-10 15:26:24.190
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4a65f462,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6b8f7416,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-11 20:13:08.684 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-11 20:13:32.004
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-16 10:54:20.081 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-16 10:54:46.807
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-17 18:02:50.267 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-01-17 18:02:54.669
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-17 18:03:13.531
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-18 18:58:52.126 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-18 18:59:14.576
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-23 13:36:28.666 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-23 13:36:54.107
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-24 10:22:27.608 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-24 10:22:50.887
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-01-30 17:50:22.832 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-30 17:50:45.237
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-30 18:01:10.825
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-30 18:01:10.825
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2998a4d5,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@646db148,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-01-31 13:10:53.144 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-01-31 13:11:18.315
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-01-31 19:44:59.273
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-01-31 19:44:59.273
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@55d72e11,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@22118a1e,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-01 19:38:34.782 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-02-01 19:38:38.888
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-01 19:38:57.733
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-01 20:35:49.147
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-01 20:35:49.147
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2d91c534,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3d29f04b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-03 21:12:27.623 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-02-03 21:12:38.540
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-03 21:12:56.902
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-04 15:47:26.507 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-02-04 15:47:39.506
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-04 15:47:57.764
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-04 16:00:24.156 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-04 16:00:52.633
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-05 16:13:53.256 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-05 16:14:21.236
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-05 19:37:05.927 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-05 19:37:29.944
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-05 20:52:28.160 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-05 20:52:49.037
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-06 09:39:21.696 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-06 09:39:49.201
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-06 11:35:30.622
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-06 11:35:30.622
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1271493b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4b7ec9f2,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-06 13:29:38.842 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-06 13:30:05.847
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-07 00:32:03.370 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-07 00:32:29.459
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-07 12:58:58.126 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-02-07 12:59:08.122
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-07 12:59:26.743
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface.text 2 0 2016-02-07 13:03:08.607
+!MESSAGE
+!STACK 0
+org.eclipse.text.edits.MalformedTreeException: Overlapping text edits
+ at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:121)
+ at java.util.Collections.indexedBinarySearch(Collections.java:377)
+ at java.util.Collections.binarySearch(Collections.java:365)
+ at org.eclipse.text.edits.TextEdit.computeInsertionIndex(TextEdit.java:796)
+ at org.eclipse.text.edits.TextEdit.internalAdd(TextEdit.java:781)
+ at org.eclipse.text.edits.TextEdit.addChild(TextEdit.java:335)
+ at org.eclipse.jdt.ui.text.java.correction.ASTRewriteCorrectionProposal.addEdits(ASTRewriteCorrectionProposal.java:123)
+ at org.eclipse.jdt.ui.text.java.correction.CUCorrectionProposal.createTextChange(CUCorrectionProposal.java:234)
+ at org.eclipse.jdt.ui.text.java.correction.CUCorrectionProposal.createChange(CUCorrectionProposal.java:244)
+ at org.eclipse.jdt.ui.text.java.correction.ChangeCorrectionProposal.getChange(ChangeCorrectionProposal.java:355)
+ at org.eclipse.jdt.ui.text.java.correction.CUCorrectionProposal.getTextChange(CUCorrectionProposal.java:254)
+ at org.eclipse.jdt.ui.text.java.correction.CUCorrectionProposal.getAdditionalProposalInfo(CUCorrectionProposal.java:141)
+ at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
+
+!ENTRY org.eclipse.jface 2 0 2016-02-07 15:21:27.131
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-07 15:21:27.131
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1aafe89c,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@12d06774,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-08 17:02:45.537 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-08 17:03:07.807
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-08 18:53:05.523
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-08 18:53:05.523
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7f802ec2,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@387e03f3,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-12 21:35:05.689 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-12 21:35:33.359
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-12 21:38:09.570
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-12 21:38:09.571
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5992d61a,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@372672e7,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-13 09:16:10.566 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-13 09:16:34.964
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-13 10:08:20.636
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-13 10:08:20.636
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@768a2b28,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@69178be4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+
+!ENTRY org.eclipse.text 4 2 2016-02-13 10:26:54.519
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.text".
+!STACK 0
+java.lang.IllegalArgumentException: Index out of bounds
+ at org.eclipse.swt.SWT.error(SWT.java:4378)
+ at org.eclipse.swt.SWT.error(SWT.java:4312)
+ at org.eclipse.swt.SWT.error(SWT.java:4283)
+ at org.eclipse.swt.graphics.TextLayout._getOffset(TextLayout.java:1195)
+ at org.eclipse.swt.graphics.TextLayout.getPreviousOffset(TextLayout.java:1392)
+ at org.eclipse.swt.custom.StyledText.getPointAtOffset(StyledText.java:5435)
+ at org.eclipse.swt.custom.StyledText.setCaretLocation(StyledText.java:8415)
+ at org.eclipse.swt.custom.StyledText.updateSelection(StyledText.java:10247)
+ at org.eclipse.swt.custom.StyledText.handleTextChanged(StyledText.java:6226)
+ at org.eclipse.swt.custom.StyledText$6.textChanged(StyledText.java:5616)
+ at org.eclipse.ui.internal.console.ConsoleDocumentAdapter.documentChanged(ConsoleDocumentAdapter.java:375)
+ at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:769)
+ at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:736)
+ at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:721)
+ at org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:796)
+ at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1191)
+ at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1210)
+ at org.eclipse.ui.internal.console.ConsoleDocument.replace(ConsoleDocument.java:82)
+ at org.eclipse.ui.internal.console.IOConsolePartitioner$TrimJob.runInUIThread(IOConsolePartitioner.java:652)
+ at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3717)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3366)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+
+!ENTRY org.eclipse.jdt.ui 4 10001 2016-02-13 14:48:26.888
+!MESSAGE Internal Error
+!STACK 1
+org.eclipse.core.internal.resources.ResourceException: Resource '/Minecraft/src/main/java/gregtech/api/interfaces/metatileentity/.goutputstream-QZOGCY' does not exist.
+ at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:341)
+ at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:215)
+ at org.eclipse.core.internal.resources.Resource.findMaxProblemSeverity(Resource.java:1051)
+ at org.eclipse.jdt.ui.ProblemsLabelDecorator.getPackageErrorTicksFromMarkers(ProblemsLabelDecorator.java:346)
+ at org.eclipse.jdt.ui.ProblemsLabelDecorator.computeAdornmentFlags(ProblemsLabelDecorator.java:212)
+ at org.eclipse.jdt.internal.ui.viewsupport.TreeHierarchyLayoutProblemsDecorator.computePackageAdornmentFlags(TreeHierarchyLayoutProblemsDecorator.java:47)
+ at org.eclipse.jdt.internal.ui.viewsupport.TreeHierarchyLayoutProblemsDecorator.computeAdornmentFlags(TreeHierarchyLayoutProblemsDecorator.java:56)
+ at org.eclipse.jdt.internal.ui.packageview.PackageExplorerProblemsDecorator.computeAdornmentFlags(PackageExplorerProblemsDecorator.java:35)
+ at org.eclipse.jdt.ui.ProblemsLabelDecorator.decorateImage(ProblemsLabelDecorator.java:170)
+ at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.decorateImage(JavaUILabelProvider.java:134)
+ at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.getImage(JavaUILabelProvider.java:149)
+ at org.eclipse.jdt.internal.ui.packageview.PackageExplorerLabelProvider.getImage(PackageExplorerLabelProvider.java:140)
+ at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.getImage(DelegatingStyledCellLabelProvider.java:184)
+ at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.getImage(DecoratingStyledCellLabelProvider.java:167)
+ at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.update(DelegatingStyledCellLabelProvider.java:118)
+ at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.update(DecoratingStyledCellLabelProvider.java:134)
+ at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152)
+ at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:953)
+ at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:113)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
+ at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1033)
+ at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:485)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
+ at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2167)
+ at org.eclipse.jface.viewers.StructuredViewer.internalUpdate(StructuredViewer.java:2150)
+ at org.eclipse.jface.viewers.StructuredViewer.update(StructuredViewer.java:2089)
+ at org.eclipse.jface.viewers.ColumnViewer.update(ColumnViewer.java:561)
+ at org.eclipse.jface.viewers.StructuredViewer.update(StructuredViewer.java:2033)
+ at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged(StructuredViewer.java:1191)
+ at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.handleLabelProviderChanged(ProblemTreeViewer.java:223)
+ at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged(ContentViewer.java:97)
+ at org.eclipse.jface.viewers.BaseLabelProvider$1.run(BaseLabelProvider.java:74)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
+ at org.eclipse.jface.viewers.BaseLabelProvider.fireLabelProviderChanged(BaseLabelProvider.java:72)
+ at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider$1.labelProviderChanged(DecoratingStyledCellLabelProvider.java:77)
+ at org.eclipse.ui.internal.decorators.DecoratorManager$1.run(DecoratorManager.java:430)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.decorators.DecoratorManager.fireListener(DecoratorManager.java:428)
+ at org.eclipse.ui.internal.decorators.DecorationScheduler$3.runInUIThread(DecorationScheduler.java:530)
+ at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3717)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3366)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
+!SUBENTRY 1 org.eclipse.core.resources 4 368 2016-02-13 14:48:28.129
+!MESSAGE Resource '/Minecraft/src/main/java/gregtech/api/interfaces/metatileentity/.goutputstream-QZOGCY' does not exist.
+!SESSION 2016-02-13 14:53:34.680 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-13 14:54:08.244
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-13 15:39:30.421
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-13 15:39:30.421
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@12684e6,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7df18a1,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-14 10:41:44.383 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-14 10:42:11.009
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-14 11:23:37.038
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-14 11:23:37.038
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@21dfdc29,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6fef191e,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-15 18:16:53.570 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-15 18:17:17.066
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-17 18:57:23.063 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-17 18:57:46.294
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-17 21:44:58.817 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-17 21:45:21.131
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-17 21:54:15.576
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-17 21:54:15.576
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@465be045,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@39e0f619,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-20 17:22:52.668 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-20 17:23:15.366
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-21 10:17:41.863 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-21 10:18:05.864
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-21 17:38:37.042
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-21 17:38:37.042
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@33bf542d,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@562f70e5,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-22 16:36:51.531 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-22 16:37:14.299
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-22 18:20:03.959
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-22 18:20:03.959
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@614a9191,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@669af87d,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-23 09:48:04.312 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-23 09:48:27.441
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-23 14:21:27.911
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-23 14:21:27.911
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@269ff323,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4f1392a4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-25 16:01:24.545 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-25 16:01:46.584
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.ui 4 4 2016-02-25 16:01:52.348
+!MESSAGE Plug-in 'org.eclipse.pde.ui' contributed an invalid Menu Extension (Path: 'org.eclipse.ui.projectConfigure' is invalid): org.eclipse.pde.ui.ConvertedProjectWizard
+!SESSION 2016-02-25 21:29:58.829 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-25 21:30:23.985
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!SESSION 2016-02-27 12:12:17.899 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-27 12:12:44.853
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-27 18:29:11.067
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-27 18:29:11.067
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@469721a6,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6c223d7e,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-28 10:51:01.265 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-28 10:51:24.570
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-28 11:24:48.426
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-28 11:24:48.427
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1ed5b7f9,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@61214c3f,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-02-29 20:18:42.036 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-02-29 20:19:05.752
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-02-29 21:20:44.886
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-02-29 21:20:44.886
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@466c9021,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@16a8aa6,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-01 20:20:43.648 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-01 20:21:09.142
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-03-01 20:42:23.941
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-01 20:42:23.941
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@245dc79b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@8dba3c4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-02 09:22:27.528 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-02 09:22:55.924
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-03-02 09:45:28.256
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-02 09:45:28.256
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4764e4ba,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@30e493f4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-02 21:29:18.716 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-03-02 21:29:22.920
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-02 21:29:43.539
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-03-02 21:38:56.384
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-02 21:38:56.384
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@10a4d3cb,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@354cbcf6,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+
+!ENTRY org.eclipse.core.resources 4 566 2016-03-02 22:10:02.599
+!MESSAGE Workspace was not properly initialized or has already shutdown.
+
+!ENTRY org.eclipse.core.jobs 4 1 2016-03-02 22:10:02.600
+!MESSAGE Worker thread ended job: Refreshing workspace(10), but still holds rule: ThreadJob(Refreshing workspace(10),[F/Minecraft/src/main/java/gregtech/common])
+!SESSION 2016-03-04 17:46:03.783 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-04 17:46:32.623
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-03-04 18:18:46.604
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-04 18:18:46.604
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3214b592,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6d9c9ded,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-05 10:23:22.127 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-05 10:23:49.965
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-03-05 10:48:23.338
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-05 10:48:23.338
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58e3c49b,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5180c9b4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-05 18:01:22.299 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-03-05 18:02:12.632
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-05 18:02:33.324
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-03-05 18:13:52.219
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-05 18:13:52.219
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@76d98c33,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4483a53a,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-05 20:12:32.950 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-05 20:12:56.628
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.jface 2 0 2016-03-05 20:37:27.252
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-05 20:37:27.252
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2ba6c5d7,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5206bca4,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-08 14:17:39.606 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.core.resources 2 10035 2016-03-08 14:17:45.153
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.ui 2 0 2016-03-08 14:18:03.239
+!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
+Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
+The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
+this system level configuration. The Git installation location can be configured on the
+Team > Git > Configuration preference page's 'System Settings' tab.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.equinox.p2.operations 4 10053 2016-03-08 14:25:45.498
+!MESSAGE Operation details
+!SUBENTRY 1 org.eclipse.equinox.p2.director 4 10053 2016-03-08 14:25:45.498
+!MESSAGE Cannot complete the install because one or more required items could not be found.
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.498
+!MESSAGE Software being installed: Lua Development Tools - Remote Development Support SDK 1.4.0.201601181630 (org.eclipse.ldt.remote.source.feature.group 1.4.0.201601181630)
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.498
+!MESSAGE Missing requirement: LDT Remote Development Support Debug Core 1.1.0.201511031009 (org.eclipse.ldt.remote.debug.core 1.1.0.201511031009) requires 'bundle org.eclipse.dltk.core [5.2.0,6.0.0)' but it could not be found
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.498
+!MESSAGE Missing requirement: LDT Remote Development Support Debug Core 1.1.0.201601181630 (org.eclipse.ldt.remote.debug.core 1.1.0.201601181630) requires 'bundle org.eclipse.dltk.core [5.2.0,6.0.0)' but it could not be found
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2016-03-08 14:25:45.498
+!MESSAGE Cannot satisfy dependency:
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.498
+!MESSAGE From: LDT Remote Development Support Debug UI 1.1.0.201601181630 (org.eclipse.ldt.remote.debug.ui 1.1.0.201601181630)
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.499
+!MESSAGE To: bundle org.eclipse.ldt.remote.debug.core 0.0.0
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2016-03-08 14:25:45.499
+!MESSAGE Cannot satisfy dependency:
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.499
+!MESSAGE From: Lua Development Tools - Remote Development Support 1.4.0.201601181630 (org.eclipse.ldt.remote.feature.group 1.4.0.201601181630)
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.499
+!MESSAGE To: org.eclipse.ldt.remote.debug.ui [1.1.0.201601181630]
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2016-03-08 14:25:45.499
+!MESSAGE Cannot satisfy dependency:
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.499
+!MESSAGE From: Lua Development Tools - Remote Development Support SDK 1.4.0.201601181630 (org.eclipse.ldt.remote.source.feature.group 1.4.0.201601181630)
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.499
+!MESSAGE To: org.eclipse.ldt.remote.feature.group [1.4.0.201601181630]
+
+!ENTRY org.eclipse.equinox.p2.operations 4 10053 2016-03-08 14:25:45.505
+!MESSAGE Operation details
+!SUBENTRY 1 org.eclipse.equinox.p2.director 4 10053 2016-03-08 14:25:45.505
+!MESSAGE Cannot complete the install because one or more required items could not be found.
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.505
+!MESSAGE Software being installed: Lua Development Tools - Remote Development Support SDK 1.4.0.201601181630 (org.eclipse.ldt.remote.source.feature.group 1.4.0.201601181630)
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.505
+!MESSAGE Missing requirement: LDT Remote Development Support Debug Core 1.1.0.201511031009 (org.eclipse.ldt.remote.debug.core 1.1.0.201511031009) requires 'bundle org.eclipse.dltk.core [5.2.0,6.0.0)' but it could not be found
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.505
+!MESSAGE Missing requirement: LDT Remote Development Support Debug Core 1.1.0.201601181630 (org.eclipse.ldt.remote.debug.core 1.1.0.201601181630) requires 'bundle org.eclipse.dltk.core [5.2.0,6.0.0)' but it could not be found
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2016-03-08 14:25:45.505
+!MESSAGE Cannot satisfy dependency:
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.505
+!MESSAGE From: LDT Remote Development Support Debug UI 1.1.0.201601181630 (org.eclipse.ldt.remote.debug.ui 1.1.0.201601181630)
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.505
+!MESSAGE To: bundle org.eclipse.ldt.remote.debug.core 0.0.0
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2016-03-08 14:25:45.506
+!MESSAGE Cannot satisfy dependency:
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.506
+!MESSAGE From: Lua Development Tools - Remote Development Support 1.4.0.201601181630 (org.eclipse.ldt.remote.feature.group 1.4.0.201601181630)
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.506
+!MESSAGE To: org.eclipse.ldt.remote.debug.ui [1.1.0.201601181630]
+!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2016-03-08 14:25:45.506
+!MESSAGE Cannot satisfy dependency:
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.506
+!MESSAGE From: Lua Development Tools - Remote Development Support SDK 1.4.0.201601181630 (org.eclipse.ldt.remote.source.feature.group 1.4.0.201601181630)
+!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2016-03-08 14:25:45.506
+!MESSAGE To: org.eclipse.ldt.remote.feature.group [1.4.0.201601181630]
+!SESSION 2016-03-14 19:18:03.462 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.jface 2 0 2016-03-14 19:42:14.395
+!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
+!SUBENTRY 1 org.eclipse.jface 2 0 2016-03-14 19:42:14.395
+!MESSAGE A conflict occurred for CTRL+D:
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.debug.ui.commands.eof,EOF,
+ Send end of file,
+ Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@41103f77,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.debug.ui.console,,,system)
+Binding(CTRL+D,
+ ParameterizedCommand(Command(org.eclipse.ui.edit.text.delete.line,Delete Line,
+ Delete a line of text,
+ Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true),
+ org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@40a44c8f,
+ ,,true),null),
+ org.eclipse.ui.defaultAcceleratorConfiguration,
+ org.eclipse.ui.textEditorScope,,,system)
+!SESSION 2016-03-15 22:30:21.258 -----------------------------------------------
+eclipse.buildId=4.3.2.M20140221-1700
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.standard.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.standard.product
+
+!ENTRY org.eclipse.jdt.core 4 4 2016-03-15 22:46:48.508
+!MESSAGE Exception occurred during compilation unit conversion:
+----------------------------------- SOURCE BEGIN -------------------------------------
+package ihl;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.logging.log4j.Logger;
+
+import codechicken.lib.config.ConfigTag;
+import codechicken.nei.NEIModContainer;
+import gregapi.data.IL;
+import gregapi.data.MT;
+import gregapi.data.OP;
+import gregapi.oredict.OreDictManager;
+import gregapi.recipes.GT_ModHandler;
+import gregapi.recipes.Recipe;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_OreDictUnificator;
+import ic2.api.item.IC2Items;
+import ic2.api.recipe.IRecipeInput;
+import ic2.api.recipe.RecipeInputFluidContainer;
+import ic2.api.recipe.RecipeInputItemStack;
+import ic2.api.recipe.RecipeInputOreDict;
+import ic2.api.recipe.Recipes;
+import ic2.core.Ic2Items;
+import ic2.core.util.StackUtil;
+import ihl.datanet.DataCableItem;
+import ihl.datanet.DataNet;
+import ihl.enviroment.LaserHitMirrorEventHandler;
+import ihl.enviroment.LightBulbBlock;
+import ihl.enviroment.MirrorBlock;
+import ihl.flexible_cable.AnchorBlock;
+import ihl.flexible_cable.AnchorTileEntity;
+import ihl.flexible_cable.IHLENet;
+import ihl.flexible_cable.IronWorkbenchTileEntity;
+import ihl.flexible_cable.NodeEntity;
+import ihl.flexible_cable.PowerCableNodeEntity;
+import ihl.guidebook.IHLGuidebookItem;
+import ihl.handpump.AdvancedHandPump;
+import ihl.handpump.IHLHandPump;
+import ihl.i_hate_liquids.BlockDynamicLiquidPlus;
+import ihl.i_hate_liquids.IHLBucketHandler;
+import ihl.i_hate_liquids.IHLEventHandler;
+import ihl.items_blocks.FiberItem;
+import ihl.items_blocks.FlexibleCableItem;
+import ihl.items_blocks.FlexiblePipeItem;
+import ihl.items_blocks.GroundRemoverItem;
+import ihl.items_blocks.IHLItemBlock;
+import ihl.items_blocks.IHLTool;
+import ihl.items_blocks.ItemSubstance;
+import ihl.items_blocks.MachineBaseBlock;
+import ihl.items_blocks.RecipeInputs;
+import ihl.metallurgy.constants.ElectricConductor;
+import ihl.nei_integration.NEIIHLConfig;
+import ihl.processing.chemistry.BatteryItem;
+import ihl.processing.chemistry.ChemicalReactorTileEntity;
+import ihl.processing.chemistry.CryogenicDistillerTileEntity;
+import ihl.processing.chemistry.ElectricEvaporatorBlock;
+import ihl.processing.chemistry.ElectricEvaporatorTileEntity;
+import ihl.processing.chemistry.ElectrolysisBathTileEntity;
+import ihl.processing.chemistry.EvaporatorBlock;
+import ihl.processing.chemistry.EvaporatorTileEntity;
+import ihl.processing.chemistry.FluidizedBedReactorTileEntity;
+import ihl.processing.chemistry.FractionatorBottomTileEntity;
+import ihl.processing.chemistry.GoldChimneyKneeTileEntity;
+import ihl.processing.chemistry.LabElectrolyzerTileEntity;
+import ihl.processing.chemistry.LeadOvenTileEntity;
+import ihl.processing.chemistry.LoomTileEntity;
+import ihl.processing.chemistry.PaperMachineTileEntity;
+import ihl.processing.chemistry.PrecipitatorCondenserTileEntity;
+import ihl.processing.metallurgy.AchesonFurnanceTileEntity;
+import ihl.processing.metallurgy.Crucible;
+import ihl.processing.metallurgy.DetonationSprayingMachineTileEntity;
+import ihl.processing.metallurgy.ElectricEngineItem;
+import ihl.processing.metallurgy.ExtruderTileEntity;
+import ihl.processing.metallurgy.GasWeldingStationTileEntity;
+import ihl.processing.metallurgy.ImpregnatingMachineTileEntity;
+import ihl.processing.metallurgy.InjectionMoldBlock;
+import ihl.processing.metallurgy.MuffleFurnanceTileEntity;
+import ihl.processing.metallurgy.PassiveBlock;
+import ihl.processing.metallurgy.RollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.VulcanizationExtrudingMoldTileEntity;
+import ihl.processing.metallurgy.WireMillTileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart1TileEntity;
+import ihl.collector.ChargerEjectorBlock;
+import ihl.collector.ChargerEjectorTileEntity;
+import ihl.collector.CollectorHeavyEntity;
+import ihl.collector.CollectorHeavyItem;
+import ihl.collector.CollectorItem;
+import ihl.collector.CollectorEntity;
+import ihl.crop_harvestors.BlowerBlock;
+import ihl.crop_harvestors.BlowerTileEntity;
+import ihl.crop_harvestors.RubberTreeBlock;
+import ihl.crop_harvestors.SackBlock;
+import ihl.crop_harvestors.SackTileEntity;
+import ihl.recipes.IronWorkbenchRecipe;
+import ihl.recipes.RecipeInputDie;
+import ihl.recipes.RecipeInputWire;
+import ihl.recipes.RecipeOutputItemStack;
+import ihl.recipes.UniversalRecipeInput;
+import ihl.recipes.UniversalRecipeOutput;
+import ihl.servitor.BoneBlock;
+import ihl.servitor.LostHeadEntity;
+import ihl.trans_dimensional_item_teleporter.TDITBlock;
+import ihl.trans_dimensional_item_teleporter.TDITFrequencyTransmitter;
+import ihl.trans_dimensional_item_teleporter.TDITTileEntity;
+import ihl.tunneling_shield.DriverBlock;
+import ihl.tunneling_shield.DriverTileEntity;
+import ihl.tunneling_shield.HorizontalMiningPipe;
+import ihl.tunneling_shield.MultiBlockSpacerBlock;
+import ihl.utils.ChunkAndWorldLoadEventHandler;
+import ihl.utils.EntityDropEventHandler;
+import ihl.utils.ExplosionVector;
+import ihl.utils.FluidDictionary;
+import ihl.utils.IHLUtils;
+import ihl.utils.IHLXMLParser;
+import ihl.utils.PlayerWakeUpEventHandler;
+import ihl.worldgen.IHLWorldGenerator;
+import ihl.worldgen.ores.BlockOre;
+import ihl.worldgen.ores.DebugScannerBlock;
+import ihl.worldgen.ores.DebugScannerTileEntity;
+import ihl.worldgen.ores.IHLFluid;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.FurnaceRecipes;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.BiomeDictionary.Type;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.IFuelHandler;
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.Mod.EventHandler;
+import cpw.mods.fml.common.SidedProxy;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
+import cpw.mods.fml.common.registry.EntityRegistry;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+@Mod(modid=IHLModInfo.MODID,name=IHLModInfo.MODNAME, version=IHLModInfo.MODVERSION,dependencies = "required-after:IC2@[2.2.767-experimental,)")
+
+public class IHLMod implements IFuelHandler{
+
+ @SidedProxy(
+ clientSide = "ihl.ClientProxy",
+ serverSide = "ihl.ServerProxy"
+ )
+ public static ServerProxy proxy;
+ public static IHLModConfig config;
+ public static IHLENet enet;
+ //This used to determine if GregTech mod presented on server and load GregTech recipes.
+ public static boolean isGregTechModLoaded=false;
+ public static boolean isGT_API_Version_5=false;
+ //This used to determine if CCC presented on server and do not use alternative water blocks if true.
+ public static boolean cccFiniteWater=false;
+ public static Block driverBlock;
+ public static Block blowerBlock;
+ public static Block cableAnchorBlock;
+ public static Block sackBlock;
+ public static Block rubberTreeBlock;
+ public static Block spruceTreeBlock;
+ public static Block evaporatorBlock;
+ public static Block electricEvaporatorBlock;
+ public static Block multiBlockSpacerBlock = (new MultiBlockSpacerBlock()).setBlockName("IHLMultiBlockSpacerBlock").setBlockTextureName(IHLModInfo.MODID+":shieldAU").setHardness(5.0F).setResistance(5.0F);
+ public static Block boneBlock = (new BoneBlock(Material.coral)).setBlockName("boneBlock").setHardness(2.0F).setResistance(2.0F);
+ public static Item ic2_handpump;
+ public static Item ic2_advanced_handpump;
+ public static Item collectorItem = new CollectorItem().setUnlocalizedName("collector");
+ public static Item collectorHeavyItem = new CollectorHeavyItem().setUnlocalizedName("collectorHeavy");
+ public static Block horizontalMiningPipeX = (new HorizontalMiningPipe(1)).setBlockName("horizontalMiningPipeX").setBlockTextureName("ic2:machine/blockMiningPipe").setHardness(5.0F).setResistance(5.0F);
+ public static Block horizontalMiningPipeZ = (new HorizontalMiningPipe(0)).setBlockName("horizontalMiningPipeZ").setBlockTextureName("ic2:machine/blockMiningPipe").setHardness(5.0F).setResistance(5.0F);
+ public static Block flowing_water = (new BlockDynamicLiquidPlus(Material.water)).setHardness(100.0F).setLightOpacity(3).setBlockName("water").setBlockTextureName(IHLModInfo.MODID+":metalShards");
+ public static Block flowing_lava = (new BlockDynamicLiquidPlus(Material.lava)).setHardness(100.0F).setLightLevel(1.0F).setBlockName("lava").setBlockTextureName(IHLModInfo.MODID+":metalShards");
+ public static Block chargerEjectorBlock = (new ChargerEjectorBlock(Material.glass)).setBlockName("chargerEjectorBlock").setBlockTextureName(IHLModInfo.MODID+":ace").setHardness(2.0F).setResistance(2.0F);
+ public static Item ihlSkull = (new Item()).setUnlocalizedName("skull").setFull3D().setCreativeTab(CreativeTabs.tabMisc).setTextureName(IHLModInfo.MODID+":skull");
+ public static Block ic2Leaves;
+ public static Block ic2Wood;
+ public static Block tditBlock = (new TDITBlock(Material.glass)).setBlockName("tditBlock").setBlockTextureName(IHLModInfo.MODID+":tditRight").setHardness(0.5F).setResistance(0.5F);
+ public static Item tditft;
+ public static Block ds = new DebugScannerBlock(Material.ice).setBlockName("debugScanner").setBlockTextureName(IHLModInfo.MODID + ":tditTop");
+ public static Item crucible;
+ public static Logger log;
+ public static DataNet datanet;
+ private ItemStack pfaalimestone;
+ private ItemStack pfaacobblelimestone;
+ public static ExplosionVector explosionHandler;
+ public static IHLXMLParser xmlparser;
+ public static FluidDictionary fluidDictionary;
+
+ @EventHandler
+ public void preInit(FMLPreInitializationEvent evt) throws IOException, ParserConfigurationException
+ {
+ fluidDictionary = new FluidDictionary();
+ xmlparser=new IHLXMLParser();
+ log = evt.getModLog();
+ IHLMod.config=new IHLModConfig(evt);
+ rubberTreeBlock = (new RubberTreeBlock(RubberTreeBlock.TreeType.RUBBERTREE)).setBlockName("rubberTreeBlock").setBlockTextureName(IHLModInfo.MODID+":blockRubWoodFront").setHardness(2.0F).setResistance(5.0F);
+ spruceTreeBlock = (new RubberTreeBlock(RubberTreeBlock.TreeType.SPRUCE)).setBlockName("spruceBlock").setBlockTextureName(IHLModInfo.MODID+":blockSpruceFront").setHardness(2.0F).setResistance(5.0F).setCreativeTab(IHLCreativeTab.tab);
+ GameRegistry.registerFuelHandler(this);
+ PassiveBlock.init();
+ FiberItem.init();
+ FlexiblePipeItem.init();
+ InjectionMoldBlock.init();
+ ElectricEngineItem.init();
+ BlockOre.init();
+ IHLFluid.init();
+ GameRegistry.registerWorldGenerator(new IHLWorldGenerator(), 0);
+ ItemSubstance.init();
+ BatteryItem.init();
+ IHLTool.init();
+ MirrorBlock.init();
+ LightBulbBlock.init();
+ MachineBaseBlock.init();// must be first
+ IHLMod.enet=new IHLENet();
+ IHLMod.datanet=new DataNet();
+ if(config.enableExtendedLiquidPhysics)
+ {
+ MinecraftForge.EVENT_BUS.register(new IHLEventHandler());
+ }
+ MinecraftForge.EVENT_BUS.register(new ChunkAndWorldLoadEventHandler());
+ MinecraftForge.EVENT_BUS.register(new EntityDropEventHandler());
+ if(config.giveIHLManualOnPlayerWakeUpEvent)
+ {
+ MinecraftForge.EVENT_BUS.register(new PlayerWakeUpEventHandler());
+ }
+ MinecraftForge.EVENT_BUS.register(new LaserHitMirrorEventHandler());
+ MinecraftForge.EVENT_BUS.register(new IHLBucketHandler());
+ MinecraftForge.EVENT_BUS.register(proxy);
+ FMLCommonHandler.instance().bus().register(proxy);
+ GameRegistry.registerBlock(ds, "debugScanner");
+ GameRegistry.registerTileEntity(DebugScannerTileEntity.class,"DebugScanner");
+ cableAnchorBlock = new AnchorBlock("cableAnchor");
+ List<String> info1 = new ArrayList();
+ info1.add("non vulcanized rubber insulated");
+ DataCableItem.init();
+ GroundRemoverItem.init();
+ FlexibleCableItem.init();
+ IHLGuidebookItem.init();
+ //ExplosiveBlock.init();
+ GameRegistry.registerTileEntity(AnchorTileEntity.class, "anchorTileEntity");
+
+ crucible=new Crucible();
+
+ ic2_handpump = new IHLHandPump().setUnlocalizedName("handpump");
+ ic2_advanced_handpump = new AdvancedHandPump().setUnlocalizedName("advanced_handpump");
+ tditft = new TDITFrequencyTransmitter().setUnlocalizedName("tditFrequencyTransmitter");
+ driverBlock = (new DriverBlock(Material.iron)).setBlockName("IHLDriverBlock").setBlockTextureName(IHLModInfo.MODID+":driver").setHardness(5.0F).setResistance(5.0F);
+
+ blowerBlock = (new BlowerBlock(Material.iron)).setBlockName("blowerBlock").setBlockTextureName(IHLModInfo.MODID+":shieldAU").setHardness(5.0F).setResistance(5.0F);
+
+ evaporatorBlock = (new EvaporatorBlock(Material.iron)).setBlockName("evaporatorBlock").setBlockTextureName(IHLModInfo.MODID+":solidFuelEvaporatorFrontActive").setHardness(5.0F).setResistance(5.0F);
+ electricEvaporatorBlock = (new ElectricEvaporatorBlock(Material.iron)).setBlockName("electricEvaporatorBlock").setBlockTextureName(IHLModInfo.MODID+":electricEvaporatorFrontActive").setHardness(5.0F).setResistance(5.0F);
+ sackBlock= (new SackBlock(Material.iron)).setBlockName("sackBlock").setBlockTextureName(IHLModInfo.MODID+":sackItem").setHardness(0.5F).setResistance(0.5F);
+
+ GameRegistry.registerBlock(horizontalMiningPipeX, "horizontalMiningPipeX");
+ GameRegistry.registerBlock(horizontalMiningPipeZ, "horizontalMiningPipeZ");
+ GameRegistry.registerBlock(boneBlock, "boneBlock");
+
+ GameRegistry.registerBlock(blowerBlock, "blowerBlock");
+ GameRegistry.registerTileEntity(BlowerTileEntity.class, "blowerTileEntity");
+
+ GameRegistry.registerItem(ic2_handpump, "Handpump");
+ GameRegistry.registerItem(ic2_advanced_handpump, ic2_advanced_handpump.getUnlocalizedName());
+ GameRegistry.registerItem(ihlSkull, "skull");
+
+ GameRegistry.registerBlock(driverBlock, IHLItemBlock.class, "IHLDriverBlock");
+ GameRegistry.registerTileEntity(DriverTileEntity.class, "IHLDriverTileEntity");
+
+ GameRegistry.registerBlock(chargerEjectorBlock, IHLItemBlock.class, "chargerEjectorBlock");
+ GameRegistry.registerTileEntity(ChargerEjectorTileEntity.class, "ChargerEjectorTileEntity");
+
+ GameRegistry.registerBlock(multiBlockSpacerBlock, "IHLShieldBlock");
+
+ GameRegistry.registerBlock(flowing_water, "flowing_water");
+ GameRegistry.registerBlock(flowing_lava, "flowing_lava");
+
+ GameRegistry.registerItem(collectorItem, "collectorItem");
+
+
+ GameRegistry.registerItem(collectorHeavyItem, "collectorHeavyItem");
+
+ //NetworkRegistry.INSTANCE.registerGuiHandler(this, new IHLGuiHandler());
+
+ GameRegistry.registerBlock(rubberTreeBlock, "rubberTreeBlock");
+ GameRegistry.registerBlock(spruceTreeBlock, "spruceTreeBlock");
+ GameRegistry.registerBlock(sackBlock, "sackBlock");
+ GameRegistry.registerTileEntity(SackTileEntity.class, "sackTileEntity");
+ GameRegistry.registerBlock(evaporatorBlock, "evaporatorBlock");
+ GameRegistry.registerBlock(electricEvaporatorBlock, "electricEvaporatorBlock");
+ GameRegistry.registerTileEntity(EvaporatorTileEntity.class, "evaporatorTileEntity");
+ GameRegistry.registerTileEntity(ElectricEvaporatorTileEntity.class, "electricEvaporatorTileEntity");
+
+ GameRegistry.registerBlock(tditBlock, "tditBlock");
+ GameRegistry.registerTileEntity(TDITTileEntity.class, "tditTileEntity");
+ GameRegistry.registerItem(tditft, "tditftItem");
+ proxy.load();
+ registerEntities();
+ if(!IHLUtils.hasOreDictionaryEntry("ingotBrick"))
+ {
+ OreDictionary.registerOre("ingotBrick", Items.brick);
+ }
+ if(!IHLUtils.hasOreDictionaryEntry("dustGunpowder"))
+ {
+ OreDictionary.registerOre("dustGunpowder", Items.gunpowder);
+ }
+
+ IHLMod.log.info("IHL precalculating explosion.");
+ explosionHandler = new ExplosionVector();
+ IHLMod.log.info("Explosion calculated. Amount of start vectors is "+explosionHandler.startVectors.size());
+ }
+
+ @EventHandler
+ public void postInit(FMLPostInitializationEvent evt) throws IOException
+ {
+ ic2Leaves=StackUtil.getBlock(IC2Items.getItem("rubberLeaves"));
+ ic2Wood=StackUtil.getBlock(IC2Items.getItem("rubberWood"));
+ boolean isCodeChickenCoreLoaded=true;
+ try
+ {
+ Class.forName("codechicken.core.asm.TweakTransformer");
+ }
+ catch (ClassNotFoundException e)
+ {
+ isCodeChickenCoreLoaded=false;
+ }
+ if(isCodeChickenCoreLoaded)
+ {
+ codechicken.core.asm.CodeChickenCoreModContainer.loadConfig();
+ ConfigTag tweaks = codechicken.core.asm.CodeChickenCoreModContainer.config.getTag("tweaks");
+ cccFiniteWater = tweaks.getTag("finiteWater").setComment("If set to true two adjacent water source blocks will not generate a third.").getBooleanValue(true);
+ }
+ if(!IHLMod.config.skipRecipeLoad)
+ {
+ if(IHLMod.config.enableRubberTreeSack)
+ {
+ GameRegistry.addRecipe(new ItemStack(sackBlock, 1), new Object[]{ "STS", "L L", "LLL", 'S', Items.string, 'T', Items.stick, 'L', Items.leather});
+ Recipes.advRecipes.addRecipe(new ItemStack(evaporatorBlock,1), new Object[] { " B ", " I ", " ", Character.valueOf('B'), Items.bucket, Character.valueOf('I'), IC2Items.getItem("ironFurnace")});
+ EvaporatorTileEntity.init();
+ }
+ if(IHLMod.config.enableTDIT)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(tditBlock,1), new Object[] { "AAA", "CMC", "ATA", Character.valueOf('A'), IC2Items.getItem("advancedAlloy"), Character.valueOf('C'), new ItemStack(Blocks.chest,1), Character.valueOf('M'), IC2Items.getItem("advancedMachine"), Character.valueOf('T'), IC2Items.getItem("teleporter")});
+ Recipes.advRecipes.addRecipe(new ItemStack(tditft,1), new Object[] { " CC", "IAI", " ", Character.valueOf('I'), IC2Items.getItem("casingiron"), Character.valueOf('C'), IC2Items.getItem("copperCableItem"), Character.valueOf('A'), IC2Items.getItem("advancedCircuit")});
+ }
+ GameRegistry.addRecipe(IHLUtils.getThisModItemStack("glassBoxBlock"), new Object[]{ " ", "G G", "GGG", 'G', new ItemStack(Blocks.glass_pane,1)});
+ GameRegistry.addRecipe(new ItemStack(boneBlock, 1), new Object[]{ "XXX", "XYX", "XXX", 'X', Items.bone, 'Y', Items.iron_ingot});
+ GameRegistry.addRecipe(new ItemStack(boneBlock, 1), new Object[]{ "XZX", "XYX", "XZX", 'X', Items.bone, 'Y', Items.iron_ingot, 'Z', ihlSkull});
+ GameRegistry.addShapelessRecipe(new ItemStack(Items.dye, 2, 15), new Object[] {ihlSkull});
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getThisModItemStack("bucket_SpruceResin"), IHLUtils.getThisModItemStack("bucket_tarPitch"), 20F);
+ ItemStack nuggetTarPitch = OreDictionary.getOres("nuggetTarPitch").get(0).copy();
+ GameRegistry.addShapelessRecipe(OreDictionary.getOres("ingotTarPitch").get(0).copy(), new Object[]{nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch});
+ if(IHLUtils.hasOreDictionaryEntry("brickPeat") && GameRegistry.findItem("Forestry", "bituminousPeat")!=null)GameRegistry.addRecipe(new ItemStack(GameRegistry.findItem("Forestry", "bituminousPeat"), 5), new Object[] { "BBB", "BPB", "BBB", 'B', IHLUtils.getOreDictItemStack("brickPeat"), 'P', OreDictionary.getOres("ingotTarPitch").get(0)});
+ pfaalimestone = IHLUtils.getOtherModItemStackWithDamage("PFAAGeologica", "mediumStone",0);
+ pfaacobblelimestone = IHLUtils.getOtherModItemStackWithDamage("PFAAGeologica", "mediumCobble",0);
+ isGregTechModLoaded=Loader.isModLoaded("gregtech");
+ if(isGregTechModLoaded)
+ {
+ try
+ {
+ Class.forName("gregapi.GT_API");
+ }
+ catch (ClassNotFoundException e)
+ {
+ isGT_API_Version_5=true;
+ }
+ if(isGT_API_Version_5)
+ {
+ this.loadGT5Recipes();
+ }
+ else
+ {
+ this.loadGT6Recipes();
+ }
+ }
+ else
+ {
+ this.loadIC2Recipes();
+ }
+ IHLUtils.addIC2RollingRecipe("ingotTungsten", IHLUtils.getOreDictItemStack("plateTungsten"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedGyubnera", IHLUtils.getThisModItemStack("crushedPurifiedGyubnera"),IHLUtils.getThisModItemStack("dustPotassiumFeldspar"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedCinnabar", IHLUtils.getThisModItemStack("crushedPurifiedCinnabar"),IHLUtils.getThisModItemStack("dustPotassiumFeldspar"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedBauxite", IHLUtils.getThisModItemStack("crushedPurifiedBauxite"),IHLUtils.getOreDictItemStack("dustClay"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedStibnite", IHLUtils.getThisModItemStack("crushedPurifiedStibnite"),IHLUtils.getOreDictItemStack("dustTinyGold"));
+ IHLUtils.addIC2MaceratorRecipe("logWood", IHLUtils.getThisModItemStack("dustWood"));
+ if(IHLUtils.hasOreDictionaryEntry("blockLimestone"))IHLUtils.addIC2MaceratorRecipe("blockLimestone", IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ if(pfaalimestone!=null)IHLUtils.addIC2MaceratorRecipe(pfaalimestone, IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ if(pfaacobblelimestone!=null)IHLUtils.addIC2MaceratorRecipe(pfaacobblelimestone, IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ IHLUtils.addIC2MaceratorRecipe("oreGypsum", IHLUtils.getOreDictItemStack("dustGypsum"));
+ IHLUtils.addIC2MaceratorRecipe("orePotassiumFeldspar", IHLUtils.getOreDictItemStack("dustPotassiumFeldspar"));
+ IHLUtils.addIC2MaceratorRecipe("oreLimestone", IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ IHLUtils.addIC2MaceratorRecipe("oreSaltpeter", IHLUtils.getOreDictItemStackWithSize("dustSaltpeter",4));
+ IHLUtils.addIC2MaceratorRecipe("oreGyubnera", IHLUtils.getThisModItemStackWithSize("crushedGyubnera",2));
+ IHLUtils.addIC2MaceratorRecipe("oreCinnabar", IHLUtils.getThisModItemStackWithSize("crushedCinnabar",2));
+ IHLUtils.addIC2MaceratorRecipe("oreBauxite", IHLUtils.getThisModItemStackWithSize("crushedBauxite",2));
+ IHLUtils.addIC2MaceratorRecipe("crushedPurifiedBauxite", IHLUtils.getThisModItemStack("dustBauxite"));
+ IHLUtils.addIC2MaceratorRecipe("oreStibnite", IHLUtils.getThisModItemStackWithSize("crushedStibnite",2));
+ IHLUtils.addIC2MaceratorRecipe("crushedPurifiedStibnite", IHLUtils.getThisModItemStack("dustStibnite"));
+ IHLUtils.addIC2MaceratorRecipe("blockGlass", IHLUtils.getOreDictItemStackWithSize("dustGlass",1));
+ IHLUtils.addIC2MaceratorRecipe("stickGraphite",2, IHLUtils.getThisModItemStack("dustGraphite"));
+ IHLUtils.addIC2MaceratorRecipe("oreMica", IHLUtils.getThisModItemStackWithSize("dustMica",4));
+ IHLUtils.addIC2MaceratorRecipe("oreTrona", IHLUtils.getThisModItemStackWithSize("dustTrona",4));
+ IHLUtils.addIC2MaceratorRecipe(Ic2Items.iridiumOre, IHLUtils.getThisModItemStack("dustIridium"));
+ IHLUtils.addIC2MaceratorRecipe("oreDatolite", IHLUtils.getThisModItemStackWithSize("dustDatolite",4));
+ IHLUtils.addIC2MaceratorRecipe("oreBischofite", IHLUtils.getThisModItemStackWithSize("dustBischofite",4));
+ IHLUtils.addIC2MaceratorRecipe("ingotBrick", IHLUtils.getOreDictItemStackWithSize("dustBrick",1));
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("dustIrongraphite",2), new Object[] {new RecipeInputOreDict("dustIron"), new RecipeInputOreDict("dustGraphite")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getOreDictItemStackWithSize("dustPorcelain",4), new Object[] {new RecipeInputOreDict("dustClay"),new RecipeInputOreDict("dustClay"), new RecipeInputOreDict("dustSiliconDioxide"), new RecipeInputOreDict("dustPotassiumFeldspar")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStack("chisel"), new Object[] {IHLUtils.getThisModItemStack("grindstone"),IHLUtils.getThisModItemStack("blankChiselSteel")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze"), new Object[] {IHLUtils.getThisModItemStack("grindstone"),IHLUtils.getThisModItemStack("carvingKnifeBronze")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("hammer"), new Object[] { "H ", "SC ", " ", Character.valueOf('H'),IHLUtils.getThisModItemStack("toolHeadHammerSmallSteel"), Character.valueOf('S'),new ItemStack(Items.stick), Character.valueOf('C'), new RecipeInputOreDict("craftingToolKnife")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("grindstone",2), new Object[] { " H ", " Q ", " ", Character.valueOf('H'), new RecipeInputOreDict("craftingToolForgeHammer"), Character.valueOf('Q'), new RecipeInputOreDict("blockQuartz")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("grindstone",2), new Object[] { " H ", " Q ", " ", Character.valueOf('H'), new RecipeInputOreDict("craftingToolHardHammer"), Character.valueOf('Q'), new RecipeInputOreDict("blockQuartz")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("blankNeedleFileSteel",64), new Object[] { " H ", " C ", " P ", Character.valueOf('H'), new RecipeInputOreDict("craftingToolForgeHammer"), Character.valueOf('C'), new RecipeInputOreDict("craftingToolChisel"), Character.valueOf('P'), IHLUtils.getThisModItemStack("plateHotSteel")});
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputOreDict("dustIrongraphite"), null, IHLUtils.getThisModItemStackWithSize("linerIronGraphite",4));
+ Recipes.compressor.addRecipe(new RecipeInputOreDict("foilMica",4), null, IHLUtils.getThisModItemStack("plateMica"));
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputOreDict("dustBoronCarbide"), null, IHLUtils.getThisModItemStackWithSize("stickBoronCarbide",2));
+ Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(IHLUtils.getThisModItemStack("dustCoalElectrodePremix")), null, IHLUtils.getThisModItemStack("plateRawCoal"));
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputItemStack(IHLUtils.getThisModItemStack("foilRubberWithSulfur")), null, IHLUtils.getThisModItemStack("batteryCellsEbonite"));
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStack("dustAntimony"), new Object[]{IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("dustTinyAntimony",9), new Object[]{IHLUtils.getThisModItemStack("dustAntimony")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStack("dustSilicon"), new Object[]{IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("dustTinySilicon",9), new Object[]{IHLUtils.getThisModItemStack("dustSilicon")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStack("dustSolderingAlloy"), new Object[]{IHLUtils.getOreDictItemStack("dustTin"),IHLUtils.getThisModItemStack("dustTinyAntimony")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("achesonFurnance"), new Object[] { "BPB", " ", "B B", Character.valueOf('B'), new RecipeInputOreDict("ingotBrick"), Character.valueOf('P'), new RecipeInputOreDict("plateSteel")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("muffleFurnance"), new Object[] { "BCB", "SDP", "BSB", Character.valueOf('B'), new RecipeInputOreDict("ingotBrick"), Character.valueOf('P'), new RecipeInputOreDict("plateSteel"), Character.valueOf('C'), IHLUtils.getThisModItemStack("crucibleMixture"), Character.valueOf('S'), new RecipeInputOreDict("stickGraphite"), Character.valueOf('D'), new RecipeInputOreDict("dustCarborundum")});
+
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",64), new Object[] { "VFS", "DR ", "WT ",
+ Character.valueOf('V'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("viseSteel")),
+ Character.valueOf('F'), new RecipeInputOreDict("craftingToolFile"),
+ Character.valueOf('S'), new RecipeInputOreDict("stickSteel"),
+ Character.valueOf('D'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("handDrillBronze")),
+ Character.valueOf('R'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("drillSteelHardened")),
+ Character.valueOf('W'), new RecipeInputOreDict("craftingToolSaw"),
+ Character.valueOf('T'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("tapM10x1SteelHardened"))});
+
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8), new Object[] { "VFS", "DR ", "W ",
+ Character.valueOf('V'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("viseSteel")),
+ Character.valueOf('F'), new RecipeInputOreDict("craftingToolFile"),
+ Character.valueOf('S'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("barD10Steel")),
+ Character.valueOf('D'), new RecipeInputOreDict("craftingToolHardHammer"),
+ Character.valueOf('R'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("diceM10x1SteelHardened")),
+ Character.valueOf('W'), new RecipeInputOreDict("craftingToolSaw")});
+ ItemStack crystal = IC2Items.getItem("lapotronCrystal").copy();
+ ItemStack advBattery = IC2Items.getItem("advBattery").copy();
+ ItemStack chargedReBattery = IC2Items.getItem("chargedReBattery").copy();
+ crystal.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ advBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ chargedReBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+
+ if(IHLMod.config.enableCollectors)
+ {
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), IC2Items.getItem("reBattery"), Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), chargedReBattery, Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingbronze"), Character.valueOf('R'), advBattery, Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), IC2Items.getItem("reBattery"), Character.valueOf('E'), IC2Items.getItem("advancedMachine"), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), chargedReBattery, Character.valueOf('E'), IC2Items.getItem("advancedMachine"), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingbronze"), Character.valueOf('R'), advBattery, Character.valueOf('E'), IC2Items.getItem("advancedMachine"), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+
+ Recipes.advRecipes.addRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), IC2Items.getItem("platelapi"), Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), IC2Items.getItem("glassFiberCableItem"), Character.valueOf('L'), crystal});
+ }
+ if(IHLMod.config.enableHandpump)
+ {
+ Recipes.advRecipes.addRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " C ", " P", Character.valueOf('T'), IC2Items.getItem("treetap"), Character.valueOf('C'), IC2Items.getItem("cell"), Character.valueOf('P'), IC2Items.getItem("powerunitsmall")});
+ Recipes.advRecipes.addRecipe(((AdvancedHandPump) ic2_advanced_handpump).getItemStack(0), new Object[] { "TK ", "KCA", " RP", Character.valueOf('T'), IC2Items.getItem("treetap"), Character.valueOf('K'), IC2Items.getItem("advancedAlloy"), Character.valueOf('C'), IC2Items.getItem("cell"), Character.valueOf('A'), IC2Items.getItem("advancedCircuit"), Character.valueOf('R'), IC2Items.getItem("energyCrystal"), Character.valueOf('P'), IC2Items.getItem("powerunitsmall")});
+ }
+
+ ItemStack forestryWaxCapsule = IHLUtils.getOtherModItemStackWithDamage("Forestry", "waxCapsule", 0);
+ ItemStack forestryWaxCast = IHLUtils.getOtherModItemStackWithDamage("Forestry", "waxCast", 0);
+ ItemStack forestryCandle = IHLUtils.getOtherModItemStackWithDamage("Forestry", "candle", 0);
+ ItemStack forestryBeesWax = IHLUtils.getOtherModItemStackWithDamage("Forestry", "beeswax", 0);
+ if(forestryWaxCapsule!=null)
+ {
+ Recipes.advRecipes.addRecipe(forestryWaxCapsule, new Object[] { "SBS", " ", " ", Character.valueOf('S'), IHLUtils.getThisModItemStack("ingotStearin"),Character.valueOf('B'),forestryBeesWax});
+ }
+ if(forestryCandle!=null)
+ {
+ Recipes.advRecipes.addRecipe(forestryCandle, new Object[] { " S ", " I ", " ", Character.valueOf('S'), new ItemStack(Items.string),Character.valueOf('I'),IHLUtils.getThisModItemStack("ingotStearin")});
+ }
+ if(forestryWaxCast!=null)
+ {
+ Recipes.advRecipes.addRecipe(forestryWaxCast, new Object[] { "BSS", "S S", "SSB", Character.valueOf('S'), IHLUtils.getThisModItemStack("ingotStearin"),Character.valueOf('B'),forestryBeesWax});
+ }
+ Iterator<ItemStack> odi = OreDictionary.getOres("dustGypsum").iterator();
+ while(odi.hasNext())
+ {
+ ItemStack stack = odi.next().copy();
+ stack.stackSize=2;
+ FurnaceRecipes.smelting().func_151394_a(stack, IHLUtils.getThisModItemStack("dustDehydratedGypsum"), 20F);
+ }
+ Recipes.FluidHeatGenerator.addFluid("oleicacid", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("mineraloil", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("acetylene", 10, 64);
+ Recipes.FluidHeatGenerator.addFluid("glyceryl", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("turpentine", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("fueloil", 10, 32);
+ Recipes.FluidHeatGenerator.addFluid("crackinggas", 10, 32);
+ Recipes.semiFluidGenerator.addFluid("hydrogen", 10, 32);
+ Recipes.semiFluidGenerator.addFluid("crackinggas", 10, 32);
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("breadWithLard",4), new Object[] {new ItemStack(Items.bread), IHLUtils.getThisModItemStack("muttonLard")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), new Object[] {Ic2Items.coalDust, IHLUtils.getOreDictItemStack("nuggetTarPitch")});
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputItemStack(IHLUtils.getThisModItemStack("dustCoalElectrodePremix")), null, IHLUtils.getThisModItemStack("stickCoalElectrodePremix"));
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), IHLUtils.getOreDictItemStack("stickCoal"), 20F);
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getThisModItemStack("plateRawCoal"), IHLUtils.getOreDictItemStack("plateCoal"), 20F);
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getOreDictItemStackWithSize("dustCalcite",3), IHLUtils.getOreDictItemStack("dustQuicklime"), 2F);
+ ItemSubstance.postInit();
+ ItemStack lathingTool = Ic2Items.LathingTool.copy();
+ lathingTool.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {new RecipeInputDie("setOfDies1_5sqmm",240)}),Arrays.asList(new ItemStack[] {Ic2Items.copperCableItem}),Arrays.asList(new ItemStack[] {IHLUtils.getUninsulatedWire("Copper",1,240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {new RecipeInputDie("setOfDies1_5sqmm",240)}),Arrays.asList(new ItemStack[] {Ic2Items.ironCableItem}),Arrays.asList(new ItemStack[] {IHLUtils.getUninsulatedWire("Steel",1,240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("bucket_tarPitch"),new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[] {new ItemStack(Items.bucket),IHLUtils.getOreDictItemStackWithSize("nuggetTarPitch",4),new ItemStack(Blocks.torch)})));
+ List<IRecipeInput> materialList3 = new ArrayList();
+ materialList3.add(new RecipeInputItemStack(new ItemStack(Blocks.sand,1 , OreDictionary.WILDCARD_VALUE)));
+ materialList3.add(new RecipeInputOreDict("dustClay"));
+ materialList3.add(new RecipeInputFluidContainer(FluidRegistry.WATER,1));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("ingot")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("tub")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("blankChisel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("carvingKnife")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("toolHeadHammerSmall")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("barD10")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("stick")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("setOfPartsForLVElemotor")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("pipelineAccessories")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("highPressureVessel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("gasJet")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("handDrillSetOfMoldedParts")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("detonationSprayingMachineSetOfMoldedParts")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("viseSetOfMoldedParts")})));
+ //Sand molds recipe section end
+ List<ItemStack> materialsForPrecisionMold = Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("ingotStearin"), IHLUtils.getOreDictItemStack("cellLiquidGlass"), IHLUtils.getOreDictItemStack("dustSiliconDioxide"), new ItemStack(Blocks.sand)});
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("rollingMachineSetOfMoldedParts"), Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("polishingPucks"), Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("turboCompressorSetOfMoldedParts"), Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("extruderSetOfMoldedParts"), Ic2Items.cell.copy()})));
+ //Precision molds recipe section end
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("chisel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10SteelHot")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("drillSteel",2)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("chisel"),IHLUtils.getThisModItemStack("needleFile")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10SteelHot")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("sawBladeSteel",2)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze"),IHLUtils.getThisModItemStack("needleFile")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStack("sawBladeSteelHardened"),new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("hackSawSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("needleFile"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("blankSetOfFilesSteel",4)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("viseSetOfMoldedPartsSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("viseSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("stickSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("diceM10x1Steel",16)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("needleFile"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("tapM10x1Steel",2)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",12),IHLUtils.getThisModItemStackWithSize("barD10Steel",16),IHLUtils.getOreDictItemStackWithSize("plateSteel",4),IHLUtils.getOreDictItemStack("stickSteel"), new ItemStack(Items.leather), new ItemStack(Items.string)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("lathePart1"),IHLUtils.getThisModItemStack("lathePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStack("extruderSetOfMoldedPartsSteel"),IHLUtils.getThisModItemStack("meshGlass"),IHLUtils.getThisModItemStack("dustCarborundum"), new ItemStack(Items.leather), new ItemStack(Items.string)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("extruder"),IHLUtils.getThisModItemStack("vulcanizationExtrudingMold")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("chisel"),IHLUtils.getThisModItemStack("hammer")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10SteelHot")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("nailSteel",8)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStackWithSize("nailSteel",16),new ItemStack(Blocks.planks), new ItemStack(Items.leather), new ItemStack(Items.string),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("coiler")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("handDrillSetOfMoldedPartsBronze"), new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("handDrillBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"), lathingTool}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),IHLUtils.getThisModItemStack("dustCarborundum"),IHLUtils.getThisModItemStack("crucibleMixture"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStackWithSize("stickSteel",4), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 16)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("wireMill")}), Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("setOfPartsForLVElemotorSteel"),IHLUtils.getThisModItemStack("ingotStearin"),IHLUtils.getUninsulatedWire("Copper", 4,15),new ItemStack(Items.paper),new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electricMotorLVLEDC")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("setOfPartsForLVElemotorSteel"),IHLUtils.getOreDictItemStack("cellSpruceResin"),IHLUtils.getUninsulatedWire("Copper", 4,15),new ItemStack(Items.paper),new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electricMotorLVLEDC"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("linerIronGraphiteHot"), IHLUtils.getThisModItemStack("muttonLard")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("linerIronGraphiteGreased")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStackWithSize("dustBrick",7),IHLUtils.getOreDictItemStackWithSize("dustClay",3), IHLUtils.getOreDictItemStackWithSize("dustGraphite",2),Ic2Items.waterCell.copy()}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("crucibleMixture",12),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("crucibleMixture")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("crucible")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("stickSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",64)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), Ic2Items.bronzeAxe}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.iron_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.golden_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.diamond_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), Ic2Items.bronzeAxe.copy()}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), new ItemStack(Items.iron_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), new ItemStack(Items.golden_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), new ItemStack(Items.diamond_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), lathingTool, IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("ingotHotSteel"),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStack("springSteel"),IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gasReducerSteel")}), Arrays.asList(new ItemStack [] {IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), lathingTool}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("ingotHotSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("pistonCylinderSteel")}), Arrays.asList(new ItemStack [] {IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[] {IHLUtils.getUninsulatedWire("Steel", 1, 240), new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("springSteel",4)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("barD10SteelHot",2),IHLUtils.getThisModItemStack("springSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("tinSnipsSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStackWithSize("gasReducerSteel",2),IHLUtils.getThisModItemStack("gasJetSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",10),IHLUtils.getThisModItemStackWithSize("highPressureVesselSteel",2),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",32),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",32),IHLUtils.getThisModWireItemStackWithLength("pipeVulcanizedRubber", 16)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"), lathingTool}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("pistonCylinderSteel"),IHLUtils.getOreDictItemStackWithSize("plateSteel",2),IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStackWithSize("stickSteel",2), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 4),IHLUtils.getThisModItemStackWithSize("highPressureVesselSteel",2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cryogenicDistiller")}), Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("meshGlass"),
+ IHLUtils.getThisModItemStack("dustCarborundum"),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("foilRubber"),
+ IHLUtils.getThisModItemStack("highPressureVesselSteel"),
+ IHLUtils.getOreDictItemStack("stickSteel"),
+ IHLUtils.getOreDictItemStack("plateSteel"),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("chemicalReactor")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), Ic2Items.bronzeAxe}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.iron_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.golden_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.diamond_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fiberGlassDieSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getOreDictItemStackWithSize("plateSteel",2),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cableAnchor")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("setOfDies1_5sqmm")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",4),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4),
+ IHLUtils.getThisModItemStack("rollingMachineSetOfMoldedPartsSteel"),
+ IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("rollingMachinePart1")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",4),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("rollingMachinePart2")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electrolysisBathRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("ovenRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("precipitatorCondenserRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("chimneyKneeRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gaedesPumpBarrelRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ringRawPorcelain",4),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("lampHolderRawPorcelain",4),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("insulatorRawPorcelain",4),Ic2Items.cell.copy()})));
+ //Raw porcelain recipes section end
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStackWithSize("foilSteel",4),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("foilRubber"),
+ IHLUtils.getOreDictItemStack("plateSteel"),
+ IHLUtils.getThisModItemStack("turboCompressorSetOfMoldedPartsBronze"),
+ IHLUtils.getThisModItemStack("highPressureVesselSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fluidizedBedReactor")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("pistonCylinderSteel",2),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStackWithSize("highPressureVesselSteel",2),IHLUtils.getThisModItemStack("electrolysisBathPorcelain"),IHLUtils.getThisModItemStackWithSize("stickGraphite",2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("labElectrolyzer")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getOreDictItemStack("foilTungsten"),IHLUtils.getOreDictItemStack("dustQuicklime"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("gu-81m",4)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStack("barD10Steel"),new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStack("gaedesPumpBarrelPorcelain"),IHLFluid.getCell("mercury")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump"),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("cellMineralOil"),IHLUtils.getOreDictItemStack("foilMica"),IHLUtils.getOreDictItemStack("foilCopper"),IHLUtils.getOreDictItemStack("foilSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("highVoltageCapacitor"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("cellMineralOil"),IHLUtils.getOreDictItemStack("foilMica"),IHLUtils.getOreDictItemStack("foilGold"),IHLUtils.getOreDictItemStack("foilSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("highVoltageCapacitor"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ringPorcelain",64),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fractionatorSection")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("stickSteel",4),IHLUtils.getOreDictItemStackWithSize("plateSteel",2),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fractionatorBottom")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fractionatorCover")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("refluxCondenser")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("dustFerrite"),IHLUtils.getThisModItemStack("ingotStearin")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ringRawFerrite",4)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLFluid.getCell("mercury"),IHLUtils.getOreDictItemStack("stickBoronCarbide"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ignitron",6),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getOreDictItemStack("foilTungsten"),IHLUtils.getOreDictItemStack("dustQuicklime"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("valveTube1C21P",6)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilGold"),IHLUtils.getOreDictItemStack("foilMica"),IHLFluid.getCell("cablingcolophony"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStack("springSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("vacuumSwitch",16),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("insulatorPorcelain",8),
+ IHLUtils.getThisModItemStackWithSize("plateMica",2),
+ IHLUtils.getThisModItemStackWithSize("highVoltageCapacitor",3),
+ IHLFluid.getCell("cablingcolophony"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStack("foilMica"),
+ IHLUtils.getThisModItemStackWithSize("gu-81m",4),
+ IHLUtils.getThisModItemStackWithSize("foilSteel",8),
+ IHLUtils.getUninsulatedWire("Copper",288,15),
+ IHLFluid.getCell("mineraloil"),
+ IHLUtils.getThisModItemStackWithSize("ignitron",6),
+ IHLUtils.getThisModItemStackWithSize("valveTube1C21P",6)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("rectifierTransformerUnit"),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilCopper"),
+ IHLFluid.getCell("cablingcolophony"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStackWithSize("ringFerrite",8),
+ IHLUtils.getThisModItemStack("foilMica")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("hallSensor",8),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("insulatorPorcelain",4),
+ IHLUtils.getUninsulatedWire("Copper",4,15),
+ IHLUtils.getThisModItemStack("foilMica"),
+ IHLUtils.getThisModItemStack("leadAcidBattery"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStack("vacuumSwitch"),
+ IHLUtils.getThisModItemStackWithSize("hallSensor",2),
+ IHLUtils.getThisModItemStackWithSize("valveTube1C21P",2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("batterySwitchUnit")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ ItemStack twoEmptyCells = Ic2Items.cell.copy();
+ twoEmptyCells.stackSize=2;
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilGold"),
+ IHLUtils.getThisModItemStack("foilRubberWithSulfur"),
+ IHLUtils.getThisModItemStack("foilLead"),
+ IHLFluid.getCell("sulfuricacid"),
+ IHLFluid.getCell("ic2distilledwater"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStack("dustLeadPlumbate"),
+ IHLUtils.getThisModItemStackWithSize("batteryCellsEbonite",8)}),Arrays.asList(new ItemStack[]{BatteryItem.getFullyChargedItemStackWithSize("leadAcidBattery",8),twoEmptyCells}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilSteel"),
+ IHLUtils.getThisModItemStackWithSize("plateGraphite",5),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel",4),
+ IHLUtils.getThisModItemStack("stickGraphite"),
+ IHLUtils.getThisModItemStack("dustCoalElectrodePremix"),
+ IHLUtils.getThisModItemStack("foilRubber")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electrolysisBath")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLFluid.getCell("turpentine"),
+ IHLUtils.getThisModItemStack("fabric")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLFluid.getCell("turpentine"),
+ new ItemStack(Blocks.wool)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ if(IHLUtils.hasOreDictionaryEntry("cellEthanol"))
+ {
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLUtils.getOreDictItemStack("cellEthanol"),
+ IHLUtils.getThisModItemStack("fabric")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLUtils.getOreDictItemStack("cellEthanol"),
+ new ItemStack(Blocks.wool)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ }
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilTungsten"),
+ IHLUtils.getThisModItemStack("foilCopper"),
+ IHLUtils.getThisModItemStackWithSize("lampHolderPorcelain",16),
+ IHLUtils.getOreDictItemStack("dustGlass")
+ }),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("lightBulb",16)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("viseSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("lightBulb"),
+ IHLUtils.getThisModItemStack("foilSteel"),
+ IHLUtils.getInsulatedWire("Copper",1,15,"Rubber", 100),
+ IHLUtils.getOreDictItemStack("plateSteel"),
+ new ItemStack(Blocks.glass_pane)
+ }),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("spotlight")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",8),
+ IHLUtils.getThisModItemStackWithSize("incisorSteelDiamondCoated",8),
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),
+ IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel",4),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("foilRubber")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("advancedShieldAssemblyUnitBlock")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",2),
+ IHLUtils.getOreDictItemStack("foilSteel"),
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),
+ IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel",16),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("extruderSetOfMoldedPartsSteel"),
+ IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased",4),
+ IHLUtils.getThisModItemStack("turboCompressorSetOfMoldedPartsBronze"),
+ IHLUtils.getThisModItemStack("foilRubber")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("hydrotransportPulpRegenerator")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {
+ RecipeInputs.cutter,
+ RecipeInputs.saw,
+ RecipeInputs.vise,
+ RecipeInputs.file}),
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("plateSteel",2),
+ new RecipeInputOreDict("foilSteel",2),
+ RecipeInputs.get("boltM10x1Steel",8),
+ RecipeInputs.get("nutM10x1Steel",8),
+ RecipeInputs.get("barD10Steel",16),
+ RecipeInputs.get("rollingMachineSetOfMoldedPartsSteel"),
+ RecipeInputs.get("linerIronGraphiteGreased",4),
+ RecipeInputs.get("turboCompressorSetOfMoldedPartsBronze"),
+ RecipeInputs.get("foilRubber")}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("paperMachine")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {
+ RecipeInputs.cutter,
+ RecipeInputs.saw,
+ RecipeInputs.hammer,
+ RecipeInputs.file}),
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("plateSteel",2),
+ new RecipeInputOreDict("foilSteel"),
+ new RecipeInputItemStack(Ic2Items.elemotor),
+ RecipeInputs.get("boltM10x1Steel",8),
+ RecipeInputs.get("nutM10x1Steel",8),
+ RecipeInputs.get("linerIronGraphiteGreased",4),
+ RecipeInputs.get("turboCompressorSetOfMoldedPartsBronze",2)}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("blowerBlock")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("dyeRed"),
+ new RecipeInputWire("Copper",128,15,"Rubber",100,10000)}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModWireItemStackWithLength("EightPinDataCable",16)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {
+ RecipeInputs.cutter}),
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("plateSteel",2),
+ new RecipeInputOreDict("foilSteel"),
+ new RecipeInputOreDict("foilMica"),
+ new RecipeInputOreDict("foilCopper"),
+ new RecipeInputWire("Copper",8,15,"Rubber",100,10000)}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("redstoneSignalConverter")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("handDrillBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("incisorSteel",4)})));
+ if(IHLMod.isGregTechModLoaded && IHLMod.isGT_API_Version_5)
+ {
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)})));
+
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ }
+ else
+ {
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)})));
+
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),Ic2Items.rubber})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),Ic2Items.rubber})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),Ic2Items.rubber})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),Ic2Items.rubber})));
+ }
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,15,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,240,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,15,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,240,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240)})));
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustSiliconDioxide",2), new RecipeInputOreDict("dustCoal",4), "dustCarborundum");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustQuicklime"), new RecipeInputOreDict("dustCoal",4), "dustCalciumCarbide");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("stickCoal"), new RecipeInputOreDict("dustCoal"), "stickGraphite");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustTungsten"), new RecipeInputOreDict("dustCoal"), "ingotTungsten");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustBoricAcid",4), new RecipeInputOreDict("dustCoal",8), "dustBoronCarbide");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("plateCoal"), new RecipeInputOreDict("dustCoal",1), "plateGraphite");
+ GoldChimneyKneeTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("ic2steam", 1),IHLUtils.getFluidStackWithSize("sulfuricanhydride", 1)}),null), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 1));
+ if(FluidRegistry.isFluidRegistered("steam"))GoldChimneyKneeTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("steam", 1),IHLUtils.getFluidStackWithSize("sulfuricanhydride", 1)}),null), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 1));
+ GoldChimneyKneeTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("ic2superheatedsteam", 15),IHLUtils.getFluidStackWithSize("sulfuricanhydride", 4)}),null), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 4));
+ LeadOvenTileEntity.addRecipe(new UniversalRecipeInput(null,Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSulfur"), IHLUtils.getOreDictItemStack("dustSaltpeter")})), IHLUtils.getFluidStackWithSize("sulfuricanhydride", 23000));
+ LeadOvenTileEntity.addRecipe(new UniversalRecipeInput(null,Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("crushedPurifiedCinnabar")})), IHLUtils.getFluidStackWithSize("vapour.mercury", 3600));
+ LeadOvenTileEntity.addRecipe(IHLUtils.getThisModItemStack("dustStibnite"), IHLUtils.getThisModItemStack("dustAntimonyOxide"));
+ LeadOvenTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustSodiumHydrogenSulfate",2), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 20000), IHLUtils.getOreDictItemStack("dustSodiumSulfate"));
+ LeadOvenTileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("dustSodiumZeoliteCoked",2), IHLUtils.getThisModItemStack("dustSodiumZeolite"));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {new FluidStack(FluidRegistry.WATER, 1500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustQuicklime", 1)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("limemilk", 2500)}),null,20));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {new FluidStack(FluidRegistry.WATER, 130),IHLUtils.getFluidStackWithSize("limemilk", 142)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("muttonLard", 6)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("glyceryl", 130)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("ingotCalciumSoap", 5)}),200));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {new FluidStack(FluidRegistry.WATER, 600),IHLUtils.getFluidStackWithSize("sulfuricacid", 284)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("ingotCalciumSoap", 6)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("oleicacid", 280)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getThisModItemStackWithSize("ingotStearin", 4)),new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustGypsum"),0.48f)}),200));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("limemilk", 1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustTrona")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 1000)}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalcite")}),200));
+ DetonationSprayingMachineTileEntity.addRecipe(IHLUtils.getThisModItemStack("blankNeedleFileSteel"), IHLUtils.getThisModItemStack("needleFile"));
+ DetonationSprayingMachineTileEntity.addRecipe(IHLUtils.getThisModItemStack("blankSetOfFilesSteel"), IHLUtils.getThisModItemStack("setOfFilesSteel"));
+ DetonationSprayingMachineTileEntity.addRecipe(IHLUtils.getThisModItemStack("incisorSteel"), IHLUtils.getThisModItemStack("incisorSteelDiamondCoated"));
+ ItemStack drill = Ic2Items.miningDrill.copy();
+ drill.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ DetonationSprayingMachineTileEntity.addRecipe(drill, Ic2Items.diamondDrill.copy());
+ MuffleFurnanceTileEntity.addRecipe(Ic2Items.plateadviron.copy(), IHLUtils.getThisModItemStack("plateHotSteel"));
+ MuffleFurnanceTileEntity.addRecipe(Ic2Items.advIronIngot.copy(), IHLUtils.getOreDictItemStack("ingotHotSteel"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateTungsten"),IHLUtils.getThisModItemStack("plateHotTungsten"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("gaedesPumpBarrelRawPorcelain"),IHLUtils.getThisModItemStack("gaedesPumpBarrelPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(new ItemStack(IHLMod.crucible,0, OreDictionary.WILDCARD_VALUE), new ItemStack(IHLMod.crucible,0,1));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("injectionMold",0), IHLUtils.getThisModItemStackWithSize("injectionMold",0));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("sawBladeSteel"),IHLUtils.getThisModItemStack("sawBladeSteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStack("barD10SteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("linerIronGraphite"),IHLUtils.getThisModItemStack("linerIronGraphiteHot"));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustIronOxide"), IHLUtils.getOreDictItemStack("dustLithiumOxide")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustFerrite",2)}),200));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustSiliconDioxide",3), IHLUtils.getOreDictItemStackWithSize("dustMagnesium",2)})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSilicon"), IHLUtils.getOreDictItemStackWithSize("dustMagnesiumOxide",4)}),200));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustBauxite"), IHLUtils.getOreDictItemStack("dustSodiumHydroxide")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSodiumAluminate")}),200));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("drillSteel"),IHLUtils.getThisModItemStack("drillSteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("tapM10x1Steel"),IHLUtils.getThisModItemStack("tapM10x1SteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("diceM10x1Steel"),IHLUtils.getThisModItemStack("diceM10x1SteelHot"));
+ LoomTileEntity.addRecipe(IHLUtils.getThisModWireItemStackWithLength("fiberGlass", 1024), IHLUtils.getThisModItemStack("meshGlass"));
+ LoomTileEntity.addRecipe(new ItemStack(Items.string,4), IHLUtils.getThisModItemStack("fabric"));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStack("plateHotSteel"), IHLUtils.getOreDictItemStackWithSize("foilSteel",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStack("plateHotTungsten"), IHLUtils.getOreDictItemStackWithSize("foilTungsten",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateGold"), IHLUtils.getOreDictItemStackWithSize("foilGold",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateCopper"), IHLUtils.getOreDictItemStackWithSize("foilCopper",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateLead"), IHLUtils.getOreDictItemStackWithSize("foilLead",4));
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("diceM10x1SteelHot","diceM10x1SteelHardened");
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("tapM10x1SteelHot","tapM10x1SteelHardened");
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("drillSteelHot","drillSteelHardened");
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("sawBladeSteelHot","sawBladeSteelHardened");
+ ImpregnatingMachineTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("oleicacid", 1)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteHot")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteGreased")}),2));
+ ImpregnatingMachineTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("seedoil", 1)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteHot")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteGreased")}),2));
+ ImpregnatingMachineTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("mineraloil", 1)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteHot")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteGreased")}),2));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("foilRubberWithSulfur"),IHLUtils.getThisModItemStack("foilRubber"));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new IRecipeInput[] {new RecipeInputItemStack(IHLUtils.getThisModItemStack("pipeRubberWithSulfur"))})),new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("pipeVulcanizedRubber")}), 20));
+ GasWeldingStationTileEntity.addGasRecipe(IHLUtils.getOreDictItemStack("dustCalciumCarbide"),IHLUtils.getFluidStackWithSize("water", 666), IHLUtils.getFluidStackWithSize("acetylene", 1333), IHLUtils.getFluidStackWithSize("limemilk", 333));
+ CryogenicDistillerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("air", 1000), IHLUtils.getFluidStackWithSize("nitrogen", 781), IHLUtils.getFluidStackWithSize("oxygen", 209), false);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSiliconDioxide")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("liquidglass", 500)}),null,200));
+ PrecipitatorCondenserTileEntity.addRecipe("vapour.sulfuricacid", "sulfuricacid", 50);
+ PrecipitatorCondenserTileEntity.addRecipe("vapour.mercury", "mercury", 50);
+ PrecipitatorCondenserTileEntity.addRecipe("ic2steam", "ic2distilledwater", 100);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("glyceryl", 50),IHLUtils.getFluidStackWithSize("spruceresin", 1000)}),null), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("cablingcolophony", 600)}),null,200,true));
+ CryogenicDistillerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("spruceresin", 1000), IHLUtils.getFluidStackWithSize("ic2distilledwater", 150), IHLUtils.getFluidStackWithSize("turpentine", 300), true);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("fueloil", 2000)}),null), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.tarpitch", 144)}),null,200,true));
+ CryogenicDistillerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("fueloil", 2000), IHLUtils.getFluidStackWithSize("mineraloil", 1000), null, true);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 4000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("crushedPurifiedGyubnera")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumtungstate", 4000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyManganeseOxide"),3.75f),new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyIronOxide"),9f/12f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("sulfuricacid", 1750)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustRockSalt",1)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("hydrogenchloride", 1000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustPotassiumSulphate"),1.75f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("sulfuricacid", 3500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSalt")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("hydrogenchloride", 1000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustSodiumHydrogenSulfate"),3.5f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("sulfuricacid", 7000/9),new FluidStack(FluidRegistry.WATER,6000/9+1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustDatolite")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("boricacid", 1777)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustGypsum"),12f/9f),new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinySiliconDioxide"),3f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("limemilk", 1667),IHLUtils.getFluidStackWithSize("hydrogenchloride", 1334)}), null), new UniversalRecipeOutput(null,Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalciumChloride")}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumtungstate", 6667)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalciumChloride")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("saltwater", 6000)}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalciumTungstate")}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 2000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustWood"),IHLUtils.getOreDictItemStack("dustSodiumSulfide")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("pulp.cellulose", 1500),IHLUtils.getFluidStackWithSize("ic2biomass", 500)}),null,200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("cablingcolophony", 50),new FluidStack(FluidRegistry.WATER,2000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustMica")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("pulp.mica", 2000)}),null,200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("hydrogenchloride", 500),new FluidStack(FluidRegistry.WATER,7500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustMagnesiumOxide")})), new UniversalRecipeOutput(null,Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustBischofite"),8.75f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("liquidglass", 1000),new FluidStack(FluidRegistry.WATER,2000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSodiumAluminate")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("pulp.sodiumzeolite", 4000)}),null,200));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("saltwater", 4000), IHLUtils.getOreDictItemStack("dustSalt"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("boricacid", 2288), IHLUtils.getOreDictItemStack("dustBoricAcid"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 2000), IHLUtils.getOreDictItemStack("dustSodiumHydroxide"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("pulp.sodiumzeolite", 4000), IHLUtils.getOreDictItemStack("dustSodiumZeolite"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("solution.lithiumchloride", 4000), IHLUtils.getOreDictItemStack("dustLithiumChloride"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("solution.calciumchloride", 4000), IHLUtils.getOreDictItemStack("dustCalciumChloride"));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("water", 2000),IHLUtils.getFluidStackWithSize("hydrogenchloride", 667)}), Arrays.asList(new IRecipeInput[] {new RecipeInputOreDict("dustCalciumTungstate")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("solution.calciumchloride", 2000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTungsticAcid"),1.16f)}),200));
+ if(IHLUtils.hasOreDictionaryEntry("dustTungstate"))ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("water", 1000),IHLUtils.getFluidStackWithSize("hydrogenchloride",140)}), Arrays.asList(new IRecipeInput[] {new RecipeInputOreDict("dustTungstate")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("solution.lithiumchloride", 560)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTungsticAcid"),1.0f)}),200));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustTungsticAcid",2), IHLUtils.getOreDictItemStack("dustTungstenOxide"),1.14f);
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("electrolysisBathRawPorcelain"), IHLUtils.getThisModItemStack("electrolysisBathPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("ovenRawPorcelain"), IHLUtils.getThisModItemStack("leadOven"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("precipitatorCondenserRawPorcelain"), IHLUtils.getThisModItemStack("goldPrecipitatorCondenser"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("chimneyKneeRawPorcelain"), IHLUtils.getThisModItemStack("goldChimneyKnee"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("ringRawPorcelain"), IHLUtils.getThisModItemStack("ringPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("ringRawFerrite"), IHLUtils.getThisModItemStack("ringFerrite"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("insulatorRawPorcelain"), IHLUtils.getThisModItemStack("insulatorPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("lampHolderRawPorcelain"), IHLUtils.getThisModItemStack("lampHolderPorcelain"));
+ LabElectrolyzerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("water", 300), IHLUtils.getFluidStackWithSize("hydrogen", 200), IHLUtils.getFluidStackWithSize("oxygen", 100), null);
+ LabElectrolyzerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("saltwater", 1000), IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 875), IHLUtils.getFluidStackWithSize("chlorine", 100), null);
+ if(IHLUtils.hasOreDictionaryEntry("dustSilicon"))FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1333), IHLUtils.getOreDictItemStackWithSize("dustSiliconDioxide",1), IHLUtils.getFluidStackWithSize("ic2distilledwater", 2000), IHLUtils.getOreDictItemStackWithSize("dustTinySilicon",3));
+ if(IHLUtils.hasOreDictionaryEntry("dustManganese"))FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 2000), IHLUtils.getOreDictItemStackWithSize("dustManganeseOxide",2), IHLUtils.getFluidStackWithSize("ic2distilledwater", 3000), IHLUtils.getOreDictItemStack("dustManganese"));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1200), IHLUtils.getOreDictItemStack("dustIronOxide"), IHLUtils.getFluidStackWithSize("ic2distilledwater", 1800), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyIron"),3.6f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1500), IHLUtils.getOreDictItemStack("dustTungstenOxide"), IHLUtils.getFluidStackWithSize("ic2distilledwater", 2250), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyTungsten"),2.25f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 4000), IHLUtils.getOreDictItemStackWithSize("dustSodiumSulfate",3), IHLUtils.getFluidStackWithSize("ic2distilledwater", 6000), IHLUtils.getOreDictItemStack("dustSodiumSulfide"));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1200), IHLUtils.getOreDictItemStack("dustAntimonyOxide"), IHLUtils.getFluidStackWithSize("ic2distilledwater", 1800), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyAntimony"),3.6f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oxygen", 1500), IHLUtils.getOreDictItemStack("dustIron"), null, new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustIronOxide"),2.5f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oxygen", 500), IHLUtils.getOreDictItemStack("dustLithium"), null, new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustLithiumOxide"),1.5f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oxygen", 1333), IHLUtils.getOreDictItemStack("dustLead"), null, new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustLeadPlumbate"),2.333f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("chlorine", 2000), IHLUtils.getOreDictItemStack("dustCarborundum"), IHLUtils.getFluidStackWithSize("silicontetrachloride", 2500), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustCoal"),0.5f));
+ FluidizedBedReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("hydrogen", 445),IHLUtils.getFluidStackWithSize("silicontetrachloride", 1667)}),Arrays.asList(new ItemStack [] {IHLUtils.getOreDictItemStackWithSize("dustIridium", 0),IHLUtils.getOreDictItemStack("dustTinySilicon")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("trichlorosilane", 2112)}),null,200));
+ FluidizedBedReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("fueloil", 6000)}), Arrays.asList(new ItemStack [] {IHLUtils.getOreDictItemStack("dustSodiumZeolite")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("fuel", 4500),IHLUtils.getFluidStackWithSize("crackinggas", 500)}),Arrays.asList(new RecipeOutputItemStack [] { new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustSodiumZeoliteCoked"),1.9f)}), 2000));
+ Crucible.addRecipe("ingotSteel", IHLUtils.getFluidStackWithSize("molten.steel", 144));
+ Crucible.addRecipe("ingotBronze", IHLUtils.getFluidStackWithSize("molten.bronze", 144));
+ Crucible.addRecipe("ingotGold", IHLUtils.getFluidStackWithSize("molten.gold", 144));
+ Crucible.addRecipe("ingotMagnesium", IHLUtils.getFluidStackWithSize("molten.magnesium", 144));
+ Crucible.addRecipe("dustGold", IHLUtils.getFluidStackWithSize("molten.gold", 144));
+ Crucible.addRecipe("dustSalt", IHLUtils.getFluidStackWithSize("molten.sodiumchloride", 144));
+ Crucible.addRecipe("dustGlass", IHLUtils.getFluidStackWithSize("molten.glass", 144));
+ PaperMachineTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("pulp.cellulose", 1500), new ItemStack(Items.paper));
+ PaperMachineTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("pulp.mica", 500), IHLUtils.getThisModItemStack("foilMica"));
+ FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 60), IHLUtils.getFluidStackWithSize("fuel", 40));
+ if(FluidRegistry.isFluidRegistered("liquid_light_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_light_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 40), IHLUtils.getFluidStackWithSize("fuel", 60));
+ if(FluidRegistry.isFluidRegistered("liquid_medium_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_medium_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 60), IHLUtils.getFluidStackWithSize("fuel", 40));
+ if(FluidRegistry.isFluidRegistered("liquid_heavy_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_heavy_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 70), IHLUtils.getFluidStackWithSize("fuel", 30));
+ if(FluidRegistry.isFluidRegistered("liquid_extra_heavy_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_extra_heavy_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 80), IHLUtils.getFluidStackWithSize("fuel", 20));
+ ElectrolysisBathTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.sodiumchloride", 1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustBischofite")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.magnesium", 6)}),null,200));
+ ElectrolysisBathTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.sodiumchloride", 1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustLithiumChloride")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.lithium", 72)}),null,200));
+ // 1 mb of molten metal per 1 m of cable with transverse section equals to 1.5 sq. mm.
+ fluidDictionary.registerFluidStack("water", IHLUtils.getFluidStackWithSize("water", 1000));
+ fluidDictionary.registerFluidStack("water", IHLUtils.getFluidStackWithSize("ic2distilledwater", 1000));
+ fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("seedoil", 1000));
+ fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("oleicacid", 1000));
+ fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("mineraloil", 1000));
+ if(FluidRegistry.isFluidRegistered("lubricant"))fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("lubricant", 1000));
+ WireMillTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("molten.glass", 1), new RecipeInputItemStack(IHLUtils.getThisModItemStack("fiberGlassDieSteel"), 0), IHLUtils.getThisModWireItemStackWithLength("fiberGlass", 64));
+ WireMillTileEntity.addRecipe("dustGlass",IHLUtils.getFluidStackWithSize("molten.glass", 144));
+ for(ElectricConductor ec:ElectricConductor.values())
+ {
+ String fluidName = "molten."+ec.toString().toLowerCase();
+ if(FluidRegistry.isFluidRegistered(fluidName))
+ {
+ WireMillTileEntity.addRecipe(IHLUtils.getFluidStackWithSize(fluidName, 1), new RecipeInputDie("setOfDies1_5sqmm",15), IHLUtils.getUninsulatedWire(ec.toString(), 1, 15));
+ log.debug("added recipe for "+fluidName);
+ if(ec.meltingPoint<500)
+ {
+ WireMillTileEntity.addRecipe("ingot"+ec.toString(),IHLUtils.getFluidStackWithSize(fluidName, 144));
+ }
+ }
+ }
+ VulcanizationExtrudingMoldTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("molten.rubber", 32), IHLUtils.getThisModWireItemStackWithLength("copperWire", 1), IHLUtils.getInsulatedWire("Copper", 1, 15, "Rubber", 100));
+ IHLMod.config.loadRecipeModificators();
+ }
+ if (Loader.isModLoaded("NotEnoughItems"))
+ {
+ NEIModContainer.plugins.add(new NEIIHLConfig());
+ }
+ IHLMod.config.CheckLists();
+ IHLMod.proxy.initBlockRenderer();
+ IHLMod.log.info("IHL loaded.");
+ }
+
+ private void registerEntities()
+ {
+ EntityRegistry.registerModEntity(CollectorEntity.class, "CollectorEntity", 0, this, 80, 3, true);
+ EntityRegistry.registerModEntity(CollectorHeavyEntity.class, "CollectorHeavyEntity", 1, this, 80, 3, true);
+ EntityRegistry.registerModEntity(PowerCableNodeEntity.class, "PowerCableNodeEntity", 2, this, 80, 3, true);
+ EntityRegistry.registerModEntity(NodeEntity.class, "NodeEntity", 3, this, 80, 3, true);
+ EntityRegistry.registerGlobalEntityID(LostHeadEntity.class, "LostHead", EntityRegistry.findGlobalUniqueEntityId(), 0x0033FF, 0x00CCFF);
+ if(IHLMod.config.enableWailers)
+ {
+ BiomeGenBase[] biomes = BiomeDictionary.getBiomesForType(Type.END);
+ for(int i=0;i<biomes.length;i++)
+ {
+ if(biomes[i].biomeName.equals("Sky"))
+ {
+ EntityRegistry.addSpawn(LostHeadEntity.class, 50, 1, 10, EnumCreatureType.monster, biomes[i]);
+ }
+ }
+ }
+ }
+
+ @Override
+ public int getBurnTime(ItemStack stack)
+ {
+ if(IHLUtils.getFirstOreDictName(stack)=="ingotTarPitch")
+ {
+ return 2000;
+ }
+ if(IHLUtils.getFirstOreDictName(stack)=="dustSodiumZeoliteCoked")
+ {
+ return 500;
+ }
+ else if(IHLUtils.getFirstOreDictName(stack)=="nuggetTarPitch")
+ {
+ return 222;
+ }
+ else if(IHLUtils.getFirstOreDictName(stack)=="dustSulfur")
+ {
+ return 160;
+ }
+ return 0;
+ }
+
+ private void loadGT5Recipes()
+ {/*
+ ItemStack odi = ItemList.Circuit_Basic.get(1L, new Object[] {null});
+ ItemStack crystal = ItemList.Circuit_Primitive.get(1L, new Object[] {null});
+ ItemStack advBattery = ItemList.Hull_MV.get(1L, new Object[] {null});
+ ItemStack chargedReBattery = ItemList.Hull_LV.get(1L, new Object[] {null});
+ ItemStack gypsumOreList = GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 1L);
+ ItemStack oreListIterator = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Gold, 1L);
+ ItemStack sc = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Silver, 1L);
+ ItemStack ec = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Electrum, 1L);
+ ItemStack lp = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lazurite, 1L);
+ ItemStack sp = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L);
+ ItemStack sr = GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Steel, 1L);
+ ItemStack ip = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L);
+ ItemStack ir = GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Iron, 1L);
+ ItemStack is = GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iron, 1L);
+ ItemStack cs = GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Copper, 1L);
+ ItemStack cr = GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Copper, 1L);
+ ItemStack pp = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Plastic, 1L);
+ ItemStack copper_plate = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 1L);
+ ItemStack copper_framebox = GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Copper, 1L);
+ ItemStack rotor_lv = ItemList.Rotor_LV.get(1L, new Object[] {null});
+ ItemStack rotor_mv = ItemList.Rotor_MV.get(1L, new Object[] {null});
+ ItemStack motor_lv = ItemList.Electric_Motor_LV.get(1L, new Object[] {null});
+ ItemStack motor_mv = ItemList.Electric_Motor_MV.get(1L, new Object[] {null});
+ ItemStack piston_lv = ItemList.Electric_Piston_LV.get(1L, new Object[] {null});
+ ItemStack roboarm_lv = ItemList.Robot_Arm_LV.get(1L, new Object[] {null});
+ ItemStack sensor_lv = ItemList.Sensor_LV.get(1L, new Object[] {null});
+ ItemStack sensor_mv = ItemList.Sensor_MV.get(1L, new Object[] {null});
+ ItemStack battery_lv_c = ItemList.Battery_RE_LV_Cadmium.get(1L, new Object[] {null});
+ ItemStack battery_lv_l = ItemList.Battery_RE_LV_Lithium.get(1L, new Object[] {null});
+ ItemStack battery_lv_s = ItemList.Battery_RE_LV_Sodium.get(1L, new Object[] {null});
+ ItemStack battery_mv_c = ItemList.Battery_RE_MV_Cadmium.get(1L, new Object[] {null});
+ ItemStack battery_mv_l = ItemList.Battery_RE_MV_Lithium.get(1L, new Object[] {null});
+ ItemStack battery_mv_s = ItemList.Battery_RE_MV_Sodium.get(1L, new Object[] {null});
+ ItemStack energy_crystal = gregtech.api.util.GT_ModHandler.getIC2Item("energyCrystal", 1L, 32767);
+ ItemStack pump = ItemList.Electric_Pump_MV.get(1L, new Object[] {null});
+ ItemStack pump_hv = ItemList.Electric_Pump_HV.get(1L, new Object[] {null});
+ int[] gypsumOreList1;
+ int[] oreListIterator1;
+
+ if (config.enableRubberTreeSack)
+ {
+ gypsumOreList1 = new int[] {10000, 2000, 2000, 1000, 100, 0};
+ oreListIterator1 = new int[] {10000, 10000, 10000, 5000, 500, 10000};
+ GregTech_API.sRecipeAdder.addCentrifugeRecipe((ItemStack)null, (ItemStack)null, new FluidStack(FluidRegistry.getFluid("fluidrubbertreesap"), 200), new FluidStack(FluidRegistry.WATER, 120), ItemList.IC2_Resin.get(1L, new Object[] {null}), IHLUtils.getOreDictItemStack("dustRawRubber"), new ItemStack(Items.sugar, 1), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L), (ItemStack)null, (ItemStack)null, gypsumOreList1, 500, 5);
+ GregTech_API.sRecipeAdder.addCentrifugeRecipe(IHLFluid.getCell("fluidrubbertreesap"), (ItemStack)null, new FluidStack(FluidRegistry.getFluid("fluidrubbertreesap"), 200), new FluidStack(FluidRegistry.WATER, 600), ItemList.IC2_Resin.get(5L, new Object[] {null}), IHLUtils.getOreDictItemStack("dustRawRubber"), new ItemStack(Items.sugar, 1), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 1L), ItemList.Cell_Empty.get(1L, new Object[] {null}), (ItemStack)null, oreListIterator1, 2500, 5);
+ }
+
+ if (config.enableHandpump)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((IHLHandPump)ic2_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.Steel), 'P', pump, 'B', battery_mv_c});
+ gregtech.api.util. GT_ModHandler.addCraftingRecipe(((IHLHandPump)ic2_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.Steel), 'P', pump, 'B', battery_mv_l});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((IHLHandPump)ic2_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.Steel), 'P', pump, 'B', battery_mv_s});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((AdvancedHandPump)ic2_advanced_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.TungstenSteel), 'P', pump_hv, 'B', energy_crystal});
+ }
+
+ if (config.enableTunnelingShield)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"), gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, new Object[] {"RfR", "BwB", "PPP", 'R', OrePrefixes.stick.get(Materials.Steel), 'B', OrePrefixes.bolt.get(Materials.Steel), 'P', OrePrefixes.plate.get(Materials.Steel)});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(driverBlock, 1), new Object[] {" ", " H ", " M ", 'H', advBattery, 'M', motor_mv});
+ }
+
+ if (config.enableCollectors)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorHeavyItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R', OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_c});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorHeavyItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R', OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_l});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorHeavyItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R', OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_s});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R', OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_c});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R', OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_l});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R', OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_s});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {"PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', oreListIterator, 'L', advBattery});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {"PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', sc, 'L', advBattery});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {"PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', ec, 'L', advBattery});
+ }
+
+ if (config.enableFan)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(blowerBlock, 1), new Object[] {"PIP", "RHR", "IMI", 'P', sp, 'I', new ItemStack(Blocks.iron_bars, 1), 'R', rotor_mv, 'H', advBattery, 'M', motor_mv});
+ }
+
+ if (config.enableFlexibleCablesCrafting)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("ironWorkbench"), new Object[] {"PPS", "RRh", "RRd", 'P', OrePrefixes.plate.get(Materials.Iron), 'S', OrePrefixes.screw.get(Materials.Iron), 'R', OrePrefixes.stick.get(Materials.Iron)});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"), new Object[] {" ", "fPs", " ", 'P', OrePrefixes.plate.get(Materials.Steel)});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240), new Object[] {" f ", " P ", " s ", 'P', OrePrefixes.plate.get(Materials.Steel)});
+ }
+ if (pfaalimestone != null)
+ {
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(pfaalimestone, new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite", 4)}, new int[] {10000}, 600, 30);
+ }
+
+ if (pfaacobblelimestone != null)
+ {
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(pfaacobblelimestone, new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite", 4)}, new int[] {10000}, 600, 30);
+ }
+ List gypsumOreList3 = IHLUtils.getEntryListForOre("oreGypsum");
+ Iterator oreListIterator3 = gypsumOreList3.iterator();
+ while (oreListIterator3.hasNext())
+ {
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(((ItemStack)oreListIterator3.next()), new ItemStack[] {IHLUtils.getOreDictItemStack("dustGypsum")}, new int[] {10000}, 600, 30);
+ }
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStack("orePotassiumFeldspar"), new ItemStack[] {IHLUtils.getOreDictItemStack("dustPotassiumFeldspar")}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStack("oreLimestone"), new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite", 4)}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStack("oreSaltpeter"), new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustSaltpeter", 4)}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStackWithSize("stickGraphite", 2), new ItemStack[] {IHLUtils.getOreDictItemStack("dustGraphite")}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(new ItemStack(Items.brick), new ItemStack[] {IHLUtils.getOreDictItemStack("dustBrick")}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L), new FluidStack(FluidRegistry.WATER, 1500), FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), 950);
+ GregTech_API.sRecipeAdder.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 2L), FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000), (FluidStack)null, GT_OreDictUnificator.get(OrePrefixes.cell, "LiquidGlass", 2L), 950);
+ gregtech.api.util.GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), new Object[] {GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L), IHLUtils.getOreDictItemStack("nuggetTarPitch")});
+ gregtech.api.util.GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStackWithSize("dustIrongraphite", 2), new Object[] {GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L)});
+ gregtech.api.util.GT_ModHandler.addSmeltingRecipe(IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Coal, 1L));
+ gregtech.api.util.GT_ModHandler.addSmeltingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, 1L));
+ GregTech_API.sRecipeAdder.addFormingPressRecipe(IHLUtils.getThisModItemStack("dustIrongraphite"), ItemList.Shape_Mold_Cylinder.get(0L, new Object[0]), IHLUtils.getThisModItemStackWithSize("linerIronGraphite", 4), 950, 30);
+ GregTech_API.sRecipeAdder.addFormingPressRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), ItemList.Shape_Extruder_Rod.get(0L, new Object[0]), IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), 950, 30);
+ GregTech_API.sRecipeAdder.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0, 0, new Object[] {null}), IHLUtils.getFluidStackWithSize("spruceresin", 1000), IHLUtils.getFluidStackWithSize("turpentine", 50), 3000, 30, false);
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*5));
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",80));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",16), IHLUtils.getThisModItemStackWithSize("fabric",8), IHLUtils.getOreDictItemStack("dustGraphite"), IHLUtils.getThisModWireItemStackWithLength("pipeRubberWithSulfur",16));
+ }
+ */
+ private void loadGT6Recipes()
+ {
+ ItemStack ac = IL.Circuit_Basic.get(1,(Object) null);
+ ItemStack cp = IL.Circuit_Primitive.get(1,(Object) null);
+ ItemStack hull_mv = Ic2Items.advancedMachine;
+ ItemStack hull_lv = Ic2Items.advancedMachine;
+ ItemStack tc = OreDictManager.INSTANCE.getStack(OP.cableGt01,MT.Tin, 1);
+ ItemStack gc = OreDictManager.INSTANCE.getStack(OP.cableGt08,MT.Gold, 1);
+ ItemStack sc = OreDictManager.INSTANCE.getStack(OP.cableGt08,MT.Silver, 1);
+ ItemStack ec = OreDictManager.INSTANCE.getStack(OP.cableGt08,MT.Electrum, 1);
+ ItemStack lp = OreDictManager.INSTANCE.getStack(OP.plate,MT.Lazurite, 1);
+ ItemStack sp = OreDictManager.INSTANCE.getStack(OP.plate,MT.Steel, 1);
+ ItemStack sr = OreDictManager.INSTANCE.getStack(OP.rod,MT.Steel, 1);
+ ItemStack ip = GT_ModHandler.getIC2Item("plateiron", 1L);
+ ItemStack ir = OreDictManager.INSTANCE.getStack(OP.rod,MT.Iron, 1);
+ ItemStack is = OreDictManager.INSTANCE.getStack(OP.screw,MT.Iron, 1);
+ ItemStack cs = OreDictManager.INSTANCE.getStack(OP.screw,MT.Copper, 1);
+ ItemStack cr = OreDictManager.INSTANCE.getStack(OP.rod,MT.Copper, 1);
+ ItemStack pp = OreDictManager.INSTANCE.getStack(OP.ingot,MT.Plastic, 1);
+ ItemStack copper_plate = OreDictManager.INSTANCE.getStack(OP.plate,MT.Copper, 1);
+ ItemStack copper_framebox = OreDictManager.INSTANCE.getStack(OP.frameGt,MT.Copper, 1);
+ ItemStack rotor_lv = OreDictManager.INSTANCE.getStack(OP.rotor,MT.Iron, 1);
+ ItemStack rotor_mv = OreDictManager.INSTANCE.getStack(OP.rotor,MT.Aluminium, 1);
+ ItemStack motor_lv = IL.Electric_Motor_LV.get(1,(Object) null);
+ ItemStack motor_mv = IL.Electric_Motor_MV.get(1,(Object) null);
+ ItemStack piston_lv = IL.Electric_Piston_LV.get(1,(Object) null);
+ ItemStack roboarm_lv = IL.Robot_Arm_LV.get(1,(Object) null);
+ ItemStack sensor_lv = IL.Sensor_LV.get(1,(Object) null);
+ ItemStack sensor_mv = IL.Sensor_MV.get(1,(Object) null);
+ ItemStack battery_lv_c = IL.Battery_RE_LV_Cadmium.get(1,(Object) null);
+ ItemStack battery_lv_l = IL.Battery_RE_LV_Lithium.get(1,(Object) null);
+ ItemStack battery_lv_s = IL.Battery_RE_LV_Sodium.get(1,(Object) null);
+ ItemStack battery_mv_c = IL.Battery_RE_MV_Cadmium.get(1,(Object) null);
+ ItemStack battery_mv_l = IL.Battery_RE_MV_Lithium.get(1,(Object) null);
+ ItemStack battery_mv_s = IL.Battery_RE_MV_Sodium.get(1,(Object) null);
+ ItemStack energy_crystal = GT_ModHandler.getIC2Item("energyCrystal", 1L, 32767);
+ ItemStack pump = IL.Electric_Pump_MV.get(1,(Object) null);
+ ItemStack pump_hv = IL.Electric_Pump_HV.get(1,(Object) null);
+
+ List<IRecipeInput> dsmInputs1 = new ArrayList();
+ ItemStack gregtechfile = GT_ModHandler.getModItem("gregtech", "gt.metatool.01", 1, 18);
+ dsmInputs1.add(new RecipeInputItemStack(gregtechfile));
+ dsmInputs1.add(new RecipeInputOreDict("dustDiamond"));
+ dsmInputs1.add(new RecipeInputOreDict("dustGunpowder"));
+ DetonationSprayingMachineTileEntity.addRecipe((new UniversalRecipeInput(null,dsmInputs1)), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {gregtechfile.copy()}),2));
+
+ if(IHLMod.config.enableRubberTreeSack)
+ {
+ long[] chances={10000,2000,2000,1000,100,0};
+ long[] chances2={10000,10000,10000,5000,500,10000};
+ Recipe.RecipeMap.sCoagulatorRecipes.addRecipe(
+ true,
+ new ItemStack[] {},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.nugget,MT.Rubber, 1)},
+ null,
+ chances,
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("fluidrubbertreesap"),22)},
+ new FluidStack [] {},
+ 16, 5, 0);
+ }
+
+ if(IHLMod.config.enableHandpump)
+ {
+ GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel), Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_c});
+ GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel), Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_l});
+ GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel), Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_s});
+ GT_ModHandler.addCraftingRecipe(((AdvancedHandPump) ic2_advanced_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.TungstenSteel), Character.valueOf('P'), pump_hv, Character.valueOf('B'), energy_crystal});
+ }
+ if(IHLMod.config.enableTunnelingShield)
+ {
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"), GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "RfR", "BwB", "PPP", Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('B'), OP.bolt.get(MT.Steel), Character.valueOf('P'), OP.plate.get(MT.Steel)});
+ GT_ModHandler.addCraftingRecipe(new ItemStack(driverBlock,1), new Object[] { " ", " H ", " M ", Character.valueOf('H'), IC2Items.getItem("machine"), Character.valueOf('M'), IC2Items.getItem("elemotor")});
+ }
+ if(IHLMod.config.enableCollectors)
+ {
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'), sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'), motor_mv, Character.valueOf('B'), battery_mv_c});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'), sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'), motor_mv, Character.valueOf('B'), battery_mv_l});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'), sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'), motor_mv, Character.valueOf('B'), battery_mv_s});
+
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'), sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv, Character.valueOf('B'), battery_lv_c});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'), sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv, Character.valueOf('B'), battery_lv_l});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'), sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv, Character.valueOf('B'), battery_lv_s});
+
+ GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), gc, Character.valueOf('L'), hull_mv});
+ GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), sc, Character.valueOf('L'), hull_mv});
+ GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), ec, Character.valueOf('L'), hull_mv});
+ }
+ if(IHLMod.config.enableFan)
+ {
+ GT_ModHandler.addCraftingRecipe(new ItemStack(blowerBlock,1), new Object[] { "PIP", "RHR", "IMI", Character.valueOf('P'), sp, Character.valueOf('I'), new ItemStack(Blocks.iron_bars,1), Character.valueOf('R'), rotor_mv, Character.valueOf('H'), hull_mv, Character.valueOf('M'), motor_mv});
+ }
+ if(IHLMod.config.enableFlexibleCablesCrafting)
+ {
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("ironWorkbench"), new Object[] { "PPS", "RRh", "RRd", Character.valueOf('P'), OP.plate.get(MT.Iron), Character.valueOf('S'), OP.screw.get(MT.Iron), Character.valueOf('R'), OP.stick.get(MT.Iron)});
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"), new Object[] { " ", "fPs", " ", Character.valueOf('P'), OP.plate.get(MT.Steel)});
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240), new Object[] { " f ", " P ", " s ", Character.valueOf('P'), OP.plate.get(MT.Steel)});
+ }
+ if(IHLMod.config.enablePentlanditeProcessing)
+ {
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.NitrogenDioxide, 4),OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 5)},
+ null,
+ new long[] {10000},
+ new FluidStack[] {new FluidStack(FluidRegistry.WATER, 2000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("nitricacid", 4000)},
+ 950, 30, 0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.crushedPurified,MT.Pentlandite, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("dustTinyPlatinumGroupSludge", 1L)},
+ null,
+ new long[] {10000},
+ new FluidStack[] {FluidRegistry.getFluidStack("nitricacid", 8000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.nickelsulfate", 9000)},
+ 50, 30, 0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.crushedPurified,MT.Chalcopyrite, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("dustTinyPlatinumGroupSludge", 1L)},
+ null,
+ new long[] {10000},
+ new FluidStack[] {FluidRegistry.getFluidStack("nitricacid", 8000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.bluevitriol", 9000)},
+ 50, 30, 0);
+ long[] chances={10000,10000,10000,8000,6000,6000};
+ chances[0]=IHLMod.config.chanceToGetSiliconDioxideFromSludge;
+ chances[1]=IHLMod.config.chanceToGetGoldFromSludge;
+ chances[2]=IHLMod.config.chanceToGetPlatinumFromSludge;
+ chances[3]=IHLMod.config.chanceToGetPalladiumFromSludge;
+ chances[4]=IHLMod.config.chanceToGetIridiumFromSludge;
+ chances[5]=IHLMod.config.chanceToGetOsmiumFromSludge;
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("dustPlatinumGroupSludge", 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.SiliconDioxide, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Gold, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Platinum, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Palladium, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Iridium, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Osmium, 1)},
+ null,
+ chances,
+ new FluidStack[] {},
+ new FluidStack[] {},
+ 600, 30, 0);
+ long[] chances2={10000,10000,0,0,0,0};
+ Recipe.RecipeMap.sElectrolyzerRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Nickel, 1),
+ OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ null,
+ chances2,
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.nickelsulfate", 9000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("sulfuricacid", 8000)},
+ 600,
+ 30, 0);
+ Recipe.RecipeMap.sElectrolyzerRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Copper, 1),
+ OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ null,
+ chances2,
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.bluevitriol", 9000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("sulfuricacid", 8000)},
+ 600,
+ 30, 0);
+ long[] chances3={10000,0,0,0,0,0};
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ null,
+ chances3,
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("air"), 5000)},
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("nitrogen"), 3900)},
+ 10, 10, 0);
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Air, 5)},
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1), OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 4)},
+ null,
+ chances3,
+ new FluidStack [] {},
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("nitrogen"), 3900)},
+ 10, 10, 0);
+ }
+ if(pfaalimestone!=null)
+ {
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {pfaalimestone},
+ new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite",4)},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+ if(pfaacobblelimestone!=null)
+ {
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {pfaacobblelimestone},
+ new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite",4)},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+ List<ItemStack> gypsumOreList = IHLUtils.getEntryListForOre("oreGypsum");
+ Iterator<ItemStack> oreListIterator = gypsumOreList.iterator();
+ while(oreListIterator.hasNext())
+ {
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {oreListIterator.next().copy()},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustGypsum")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("orePotassiumFeldspar")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustPotassiumFeldspar")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("oreLimestone")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalcite")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("oreSaltpeter")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustSaltpeter")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {new ItemStack(Items.brick)},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustBrick")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getOreDictItemStack("stickGraphite")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustSmallGraphite")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Sodium, 1),
+ OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Hydrogen, 1)},
+ null,
+ new long[]{10000},
+ new FluidStack[]{new FluidStack(FluidRegistry.WATER, 1500)},
+ new FluidStack[]{FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000)},
+ 950,30,0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.SiliconDioxide, 1),OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 2)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("cellLiquidGlass", 2)},
+ null,
+ new long[]{10000},
+ new FluidStack[]{FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000)},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("cellSpruceResin", 1)},
+ new ItemStack[] {},
+ null,
+ new long[]{10000},
+ new FluidStack[]{FluidRegistry.getFluidStack("glyceryl", 50)},
+ new FluidStack[]{FluidRegistry.getFluidStack("cablingcolophony", 600)},
+ 950,30,0);
+ GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), new Object[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Coal,1), IHLUtils.getOreDictItemStack("nuggetTarPitch")});
+ GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStackWithSize("dustIrongraphite",2), new Object[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Iron,1), OreDictManager.INSTANCE.getStack(OP.dust,MT.Graphite,1)});
+ GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStackWithSize("dustPorcelain",4), new Object[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Clay,1),OreDictManager.INSTANCE.getStack(OP.dust,MT.Clay,1), OreDictManager.INSTANCE.getStack(OP.dust,MT.SiliconDioxide,1), OreDictManager.INSTANCE.getStack(OP.dust,MT.PotassiumFeldspar,1)});
+ GT_ModHandler.addSmeltingRecipe(IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), OreDictManager.INSTANCE.getStack(OP.stick,MT.Coal, 1));
+ GT_ModHandler.addSmeltingRecipe(OreDictManager.INSTANCE.getStack(OP.dust,MT.Calcite, 1), OreDictManager.INSTANCE.getStack("dustQuicklime", 1));
+ Recipe.RecipeMap.sPressRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("dustIrongraphite"), IL.Shape_Mold_Cylinder.get(0)},
+ new ItemStack[] {IHLUtils.getThisModItemStackWithSize("linerIronGraphite",4)},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sPressRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), IL.Shape_Extruder_Rod.get(0)},
+ new ItemStack[] {IHLUtils.getThisModItemStack("stickCoalElectrodePremix")},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sPressRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("foilRubberWithSulfur"), IL.Shape_Extruder_Casing.get(0)},
+ new ItemStack[] {IHLUtils.getThisModItemStack("batteryCellsEbonite")},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sCompressorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStackWithSize("foilMica",4)},
+ new ItemStack[] {IHLUtils.getThisModItemStack("plateMica")},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getOreDictItemStack("oreGyubnera")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("crushedGyubnera")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getOreDictItemStack("crushedGyubnera")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("crushedPurifiedGyubnera"),IHLUtils.getOreDictItemStack("dustPotassiumFeldspar")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+
+ private void loadIC2Recipes()
+ {
+ ItemStack crystal = IC2Items.getItem("lapotronCrystal").copy();
+ ItemStack advBattery = IC2Items.getItem("advBattery").copy();
+ ItemStack chargedReBattery = IC2Items.getItem("chargedReBattery").copy();
+ crystal.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ advBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ chargedReBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ if(IHLMod.config.enableTunnelingShield)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(driverBlock,1), new Object[] { " ", " E ", " M ", Character.valueOf('E'), IC2Items.getItem("elemotor"), Character.valueOf('M'), IC2Items.getItem("machine")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"), new Object[] { "OOO", "PPP", " ", Character.valueOf('O'), IC2Items.getItem("obsidianDust"), Character.valueOf('P'), IC2Items.getItem("plateiron")});
+ }
+ if(IHLMod.config.enableFan)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(blowerBlock,1), new Object[] { "PBP", "IEI", "PMP", Character.valueOf('P'), IC2Items.getItem("plateiron"), Character.valueOf('B'), new ItemStack(Blocks.iron_bars,1), Character.valueOf('I'), new ItemStack(Items.iron_ingot,1), Character.valueOf('E'), IC2Items.getItem("elemotor"), Character.valueOf('M'), IC2Items.getItem("machine")});
+ }
+ if(IHLMod.config.enableRubberTreeSack)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(electricEvaporatorBlock,1), new Object[] { "CCC", "CCC", " F ", Character.valueOf('C'), IC2Items.getItem("platecopper"), Character.valueOf('F'), IC2Items.getItem("electroFurnace")});
+ }
+ if(IHLMod.config.enableFlexibleCablesCrafting)
+ {
+ ItemStack cutter = Ic2Items.cutter.copy();
+ cutter.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"), new Object[] { " ", " PC", " ", Character.valueOf('P'), Ic2Items.plateadviron, Character.valueOf('C'), cutter});
+ Recipes.advRecipes.addRecipe(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240), new Object[] { " C ", " P ", " ", Character.valueOf('P'), Ic2Items.plateadviron, Character.valueOf('C'), cutter});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("ironWorkbench"), new Object[] { "P ", "P ", "P H", Character.valueOf('P'), Ic2Items.plateadviron, Character.valueOf('H'), Ic2Items.ForgeHammer});
+ }
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*5));
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",80));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",16), IHLUtils.getThisModItemStackWithSize("fabric",8), IHLUtils.getOreDictItemStack("dustGraphite"), IHLUtils.getThisModWireItemStackWithLength("pipeRubberWithSulfur",16));
+ }
+}
+----------------------------------- SOURCE END -------------------------------------
+!STACK 0
+java.lang.IllegalArgumentException
+ at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2648)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:575)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2016-03-15 22:46:48.527
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.IllegalArgumentException
+ at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2648)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:575)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2016-03-15 22:46:48.528
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.IllegalArgumentException
+ at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2648)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:575)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.core 4 4 2016-03-15 22:46:54.291
+!MESSAGE Exception occurred during compilation unit conversion:
+----------------------------------- SOURCE BEGIN -------------------------------------
+package ihl;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.logging.log4j.Logger;
+
+import codechicken.lib.config.ConfigTag;
+import codechicken.nei.NEIModContainer;
+import gregapi.data.IL;
+import gregapi.data.MT;
+import gregapi.data.OP;
+import gregapi.oredict.OreDictManager;
+import gregapi.recipes.GT_ModHandler;
+import gregapi.recipes.Recipe;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_OreDictUnificator;
+import ic2.api.item.IC2Items;
+import ic2.api.recipe.IRecipeInput;
+import ic2.api.recipe.RecipeInputFluidContainer;
+import ic2.api.recipe.RecipeInputItemStack;
+import ic2.api.recipe.RecipeInputOreDict;
+import ic2.api.recipe.Recipes;
+import ic2.core.Ic2Items;
+import ic2.core.util.StackUtil;
+import ihl.datanet.DataCableItem;
+import ihl.datanet.DataNet;
+import ihl.enviroment.LaserHitMirrorEventHandler;
+import ihl.enviroment.LightBulbBlock;
+import ihl.enviroment.MirrorBlock;
+import ihl.flexible_cable.AnchorBlock;
+import ihl.flexible_cable.AnchorTileEntity;
+import ihl.flexible_cable.IHLENet;
+import ihl.flexible_cable.IronWorkbenchTileEntity;
+import ihl.flexible_cable.NodeEntity;
+import ihl.flexible_cable.PowerCableNodeEntity;
+import ihl.guidebook.IHLGuidebookItem;
+import ihl.handpump.AdvancedHandPump;
+import ihl.handpump.IHLHandPump;
+import ihl.i_hate_liquids.BlockDynamicLiquidPlus;
+import ihl.i_hate_liquids.IHLBucketHandler;
+import ihl.i_hate_liquids.IHLEventHandler;
+import ihl.items_blocks.FiberItem;
+import ihl.items_blocks.FlexibleCableItem;
+import ihl.items_blocks.FlexiblePipeItem;
+import ihl.items_blocks.GroundRemoverItem;
+import ihl.items_blocks.IHLItemBlock;
+import ihl.items_blocks.IHLTool;
+import ihl.items_blocks.ItemSubstance;
+import ihl.items_blocks.MachineBaseBlock;
+import ihl.items_blocks.RecipeInputs;
+import ihl.metallurgy.constants.ElectricConductor;
+import ihl.nei_integration.NEIIHLConfig;
+import ihl.processing.chemistry.BatteryItem;
+import ihl.processing.chemistry.ChemicalReactorTileEntity;
+import ihl.processing.chemistry.CryogenicDistillerTileEntity;
+import ihl.processing.chemistry.ElectricEvaporatorBlock;
+import ihl.processing.chemistry.ElectricEvaporatorTileEntity;
+import ihl.processing.chemistry.ElectrolysisBathTileEntity;
+import ihl.processing.chemistry.EvaporatorBlock;
+import ihl.processing.chemistry.EvaporatorTileEntity;
+import ihl.processing.chemistry.FluidizedBedReactorTileEntity;
+import ihl.processing.chemistry.FractionatorBottomTileEntity;
+import ihl.processing.chemistry.GoldChimneyKneeTileEntity;
+import ihl.processing.chemistry.LabElectrolyzerTileEntity;
+import ihl.processing.chemistry.LeadOvenTileEntity;
+import ihl.processing.chemistry.LoomTileEntity;
+import ihl.processing.chemistry.PaperMachineTileEntity;
+import ihl.processing.chemistry.PrecipitatorCondenserTileEntity;
+import ihl.processing.metallurgy.AchesonFurnanceTileEntity;
+import ihl.processing.metallurgy.Crucible;
+import ihl.processing.metallurgy.DetonationSprayingMachineTileEntity;
+import ihl.processing.metallurgy.ElectricEngineItem;
+import ihl.processing.metallurgy.ExtruderTileEntity;
+import ihl.processing.metallurgy.GasWeldingStationTileEntity;
+import ihl.processing.metallurgy.ImpregnatingMachineTileEntity;
+import ihl.processing.metallurgy.InjectionMoldBlock;
+import ihl.processing.metallurgy.MuffleFurnanceTileEntity;
+import ihl.processing.metallurgy.PassiveBlock;
+import ihl.processing.metallurgy.RollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.VulcanizationExtrudingMoldTileEntity;
+import ihl.processing.metallurgy.WireMillTileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart1TileEntity;
+import ihl.collector.ChargerEjectorBlock;
+import ihl.collector.ChargerEjectorTileEntity;
+import ihl.collector.CollectorHeavyEntity;
+import ihl.collector.CollectorHeavyItem;
+import ihl.collector.CollectorItem;
+import ihl.collector.CollectorEntity;
+import ihl.crop_harvestors.BlowerBlock;
+import ihl.crop_harvestors.BlowerTileEntity;
+import ihl.crop_harvestors.RubberTreeBlock;
+import ihl.crop_harvestors.SackBlock;
+import ihl.crop_harvestors.SackTileEntity;
+import ihl.recipes.IronWorkbenchRecipe;
+import ihl.recipes.RecipeInputDie;
+import ihl.recipes.RecipeInputWire;
+import ihl.recipes.RecipeOutputItemStack;
+import ihl.recipes.UniversalRecipeInput;
+import ihl.recipes.UniversalRecipeOutput;
+import ihl.servitor.BoneBlock;
+import ihl.servitor.LostHeadEntity;
+import ihl.trans_dimensional_item_teleporter.TDITBlock;
+import ihl.trans_dimensional_item_teleporter.TDITFrequencyTransmitter;
+import ihl.trans_dimensional_item_teleporter.TDITTileEntity;
+import ihl.tunneling_shield.DriverBlock;
+import ihl.tunneling_shield.DriverTileEntity;
+import ihl.tunneling_shield.HorizontalMiningPipe;
+import ihl.tunneling_shield.MultiBlockSpacerBlock;
+import ihl.utils.ChunkAndWorldLoadEventHandler;
+import ihl.utils.EntityDropEventHandler;
+import ihl.utils.ExplosionVector;
+import ihl.utils.FluidDictionary;
+import ihl.utils.IHLUtils;
+import ihl.utils.IHLXMLParser;
+import ihl.utils.PlayerWakeUpEventHandler;
+import ihl.worldgen.IHLWorldGenerator;
+import ihl.worldgen.ores.BlockOre;
+import ihl.worldgen.ores.DebugScannerBlock;
+import ihl.worldgen.ores.DebugScannerTileEntity;
+import ihl.worldgen.ores.IHLFluid;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.FurnaceRecipes;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.common.BiomeDictionary.Type;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.IFuelHandler;
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.Mod.EventHandler;
+import cpw.mods.fml.common.SidedProxy;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
+import cpw.mods.fml.common.registry.EntityRegistry;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+@Mod(modid=IHLModInfo.MODID,name=IHLModInfo.MODNAME, version=IHLModInfo.MODVERSION,dependencies = "required-after:IC2@[2.2.767-experimental,)")
+
+public class IHLMod implements IFuelHandler{
+
+ @SidedProxy(
+ clientSide = "ihl.ClientProxy",
+ serverSide = "ihl.ServerProxy"
+ )
+ public static ServerProxy proxy;
+ public static IHLModConfig config;
+ public static IHLENet enet;
+ //This used to determine if GregTech mod presented on server and load GregTech recipes.
+ public static boolean isGregTechModLoaded=false;
+ public static boolean isGT_API_Version_5=false;
+ //This used to determine if CCC presented on server and do not use alternative water blocks if true.
+ public static boolean cccFiniteWater=false;
+ public static Block driverBlock;
+ public static Block blowerBlock;
+ public static Block cableAnchorBlock;
+ public static Block sackBlock;
+ public static Block rubberTreeBlock;
+ public static Block spruceTreeBlock;
+ public static Block evaporatorBlock;
+ public static Block electricEvaporatorBlock;
+ public static Block multiBlockSpacerBlock = (new MultiBlockSpacerBlock()).setBlockName("IHLMultiBlockSpacerBlock").setBlockTextureName(IHLModInfo.MODID+":shieldAU").setHardness(5.0F).setResistance(5.0F);
+ public static Block boneBlock = (new BoneBlock(Material.coral)).setBlockName("boneBlock").setHardness(2.0F).setResistance(2.0F);
+ public static Item ic2_handpump;
+ public static Item ic2_advanced_handpump;
+ public static Item collectorItem = new CollectorItem().setUnlocalizedName("collector");
+ public static Item collectorHeavyItem = new CollectorHeavyItem().setUnlocalizedName("collectorHeavy");
+ public static Block horizontalMiningPipeX = (new HorizontalMiningPipe(1)).setBlockName("horizontalMiningPipeX").setBlockTextureName("ic2:machine/blockMiningPipe").setHardness(5.0F).setResistance(5.0F);
+ public static Block horizontalMiningPipeZ = (new HorizontalMiningPipe(0)).setBlockName("horizontalMiningPipeZ").setBlockTextureName("ic2:machine/blockMiningPipe").setHardness(5.0F).setResistance(5.0F);
+ public static Block flowing_water = (new BlockDynamicLiquidPlus(Material.water)).setHardness(100.0F).setLightOpacity(3).setBlockName("water").setBlockTextureName(IHLModInfo.MODID+":metalShards");
+ public static Block flowing_lava = (new BlockDynamicLiquidPlus(Material.lava)).setHardness(100.0F).setLightLevel(1.0F).setBlockName("lava").setBlockTextureName(IHLModInfo.MODID+":metalShards");
+ public static Block chargerEjectorBlock = (new ChargerEjectorBlock(Material.glass)).setBlockName("chargerEjectorBlock").setBlockTextureName(IHLModInfo.MODID+":ace").setHardness(2.0F).setResistance(2.0F);
+ public static Item ihlSkull = (new Item()).setUnlocalizedName("skull").setFull3D().setCreativeTab(CreativeTabs.tabMisc).setTextureName(IHLModInfo.MODID+":skull");
+ public static Block ic2Leaves;
+ public static Block ic2Wood;
+ public static Block tditBlock = (new TDITBlock(Material.glass)).setBlockName("tditBlock").setBlockTextureName(IHLModInfo.MODID+":tditRight").setHardness(0.5F).setResistance(0.5F);
+ public static Item tditft;
+ public static Block ds = new DebugScannerBlock(Material.ice).setBlockName("debugScanner").setBlockTextureName(IHLModInfo.MODID + ":tditTop");
+ public static Item crucible;
+ public static Logger log;
+ public static DataNet datanet;
+ private ItemStack pfaalimestone;
+ private ItemStack pfaacobblelimestone;
+ public static ExplosionVector explosionHandler;
+ public static IHLXMLParser xmlparser;
+ public static FluidDictionary fluidDictionary;
+
+ @EventHandler
+ public void preInit(FMLPreInitializationEvent evt) throws IOException, ParserConfigurationException
+ {
+ fluidDictionary = new FluidDictionary();
+ xmlparser=new IHLXMLParser();
+ log = evt.getModLog();
+ IHLMod.config=new IHLModConfig(evt);
+ rubberTreeBlock = (new RubberTreeBlock(RubberTreeBlock.TreeType.RUBBERTREE)).setBlockName("rubberTreeBlock").setBlockTextureName(IHLModInfo.MODID+":blockRubWoodFront").setHardness(2.0F).setResistance(5.0F);
+ spruceTreeBlock = (new RubberTreeBlock(RubberTreeBlock.TreeType.SPRUCE)).setBlockName("spruceBlock").setBlockTextureName(IHLModInfo.MODID+":blockSpruceFront").setHardness(2.0F).setResistance(5.0F).setCreativeTab(IHLCreativeTab.tab);
+ GameRegistry.registerFuelHandler(this);
+ PassiveBlock.init();
+ FiberItem.init();
+ FlexiblePipeItem.init();
+ InjectionMoldBlock.init();
+ ElectricEngineItem.init();
+ BlockOre.init();
+ IHLFluid.init();
+ GameRegistry.registerWorldGenerator(new IHLWorldGenerator(), 0);
+ ItemSubstance.init();
+ BatteryItem.init();
+ IHLTool.init();
+ MirrorBlock.init();
+ LightBulbBlock.init();
+ MachineBaseBlock.init();// must be first
+ IHLMod.enet=new IHLENet();
+ IHLMod.datanet=new DataNet();
+ if(config.enableExtendedLiquidPhysics)
+ {
+ MinecraftForge.EVENT_BUS.register(new IHLEventHandler());
+ }
+ MinecraftForge.EVENT_BUS.register(new ChunkAndWorldLoadEventHandler());
+ MinecraftForge.EVENT_BUS.register(new EntityDropEventHandler());
+ if(config.giveIHLManualOnPlayerWakeUpEvent)
+ {
+ MinecraftForge.EVENT_BUS.register(new PlayerWakeUpEventHandler());
+ }
+ MinecraftForge.EVENT_BUS.register(new LaserHitMirrorEventHandler());
+ MinecraftForge.EVENT_BUS.register(new IHLBucketHandler());
+ MinecraftForge.EVENT_BUS.register(proxy);
+ FMLCommonHandler.instance().bus().register(proxy);
+ GameRegistry.registerBlock(ds, "debugScanner");
+ GameRegistry.registerTileEntity(DebugScannerTileEntity.class,"DebugScanner");
+ cableAnchorBlock = new AnchorBlock("cableAnchor");
+ List<String> info1 = new ArrayList();
+ info1.add("non vulcanized rubber insulated");
+ DataCableItem.init();
+ GroundRemoverItem.init();
+ FlexibleCableItem.init();
+ IHLGuidebookItem.init();
+ //ExplosiveBlock.init();
+ GameRegistry.registerTileEntity(AnchorTileEntity.class, "anchorTileEntity");
+
+ crucible=new Crucible();
+
+ ic2_handpump = new IHLHandPump().setUnlocalizedName("handpump");
+ ic2_advanced_handpump = new AdvancedHandPump().setUnlocalizedName("advanced_handpump");
+ tditft = new TDITFrequencyTransmitter().setUnlocalizedName("tditFrequencyTransmitter");
+ driverBlock = (new DriverBlock(Material.iron)).setBlockName("IHLDriverBlock").setBlockTextureName(IHLModInfo.MODID+":driver").setHardness(5.0F).setResistance(5.0F);
+
+ blowerBlock = (new BlowerBlock(Material.iron)).setBlockName("blowerBlock").setBlockTextureName(IHLModInfo.MODID+":shieldAU").setHardness(5.0F).setResistance(5.0F);
+
+ evaporatorBlock = (new EvaporatorBlock(Material.iron)).setBlockName("evaporatorBlock").setBlockTextureName(IHLModInfo.MODID+":solidFuelEvaporatorFrontActive").setHardness(5.0F).setResistance(5.0F);
+ electricEvaporatorBlock = (new ElectricEvaporatorBlock(Material.iron)).setBlockName("electricEvaporatorBlock").setBlockTextureName(IHLModInfo.MODID+":electricEvaporatorFrontActive").setHardness(5.0F).setResistance(5.0F);
+ sackBlock= (new SackBlock(Material.iron)).setBlockName("sackBlock").setBlockTextureName(IHLModInfo.MODID+":sackItem").setHardness(0.5F).setResistance(0.5F);
+
+ GameRegistry.registerBlock(horizontalMiningPipeX, "horizontalMiningPipeX");
+ GameRegistry.registerBlock(horizontalMiningPipeZ, "horizontalMiningPipeZ");
+ GameRegistry.registerBlock(boneBlock, "boneBlock");
+
+ GameRegistry.registerBlock(blowerBlock, "blowerBlock");
+ GameRegistry.registerTileEntity(BlowerTileEntity.class, "blowerTileEntity");
+
+ GameRegistry.registerItem(ic2_handpump, "Handpump");
+ GameRegistry.registerItem(ic2_advanced_handpump, ic2_advanced_handpump.getUnlocalizedName());
+ GameRegistry.registerItem(ihlSkull, "skull");
+
+ GameRegistry.registerBlock(driverBlock, IHLItemBlock.class, "IHLDriverBlock");
+ GameRegistry.registerTileEntity(DriverTileEntity.class, "IHLDriverTileEntity");
+
+ GameRegistry.registerBlock(chargerEjectorBlock, IHLItemBlock.class, "chargerEjectorBlock");
+ GameRegistry.registerTileEntity(ChargerEjectorTileEntity.class, "ChargerEjectorTileEntity");
+
+ GameRegistry.registerBlock(multiBlockSpacerBlock, "IHLShieldBlock");
+
+ GameRegistry.registerBlock(flowing_water, "flowing_water");
+ GameRegistry.registerBlock(flowing_lava, "flowing_lava");
+
+ GameRegistry.registerItem(collectorItem, "collectorItem");
+
+
+ GameRegistry.registerItem(collectorHeavyItem, "collectorHeavyItem");
+
+ //NetworkRegistry.INSTANCE.registerGuiHandler(this, new IHLGuiHandler());
+
+ GameRegistry.registerBlock(rubberTreeBlock, "rubberTreeBlock");
+ GameRegistry.registerBlock(spruceTreeBlock, "spruceTreeBlock");
+ GameRegistry.registerBlock(sackBlock, "sackBlock");
+ GameRegistry.registerTileEntity(SackTileEntity.class, "sackTileEntity");
+ GameRegistry.registerBlock(evaporatorBlock, "evaporatorBlock");
+ GameRegistry.registerBlock(electricEvaporatorBlock, "electricEvaporatorBlock");
+ GameRegistry.registerTileEntity(EvaporatorTileEntity.class, "evaporatorTileEntity");
+ GameRegistry.registerTileEntity(ElectricEvaporatorTileEntity.class, "electricEvaporatorTileEntity");
+
+ GameRegistry.registerBlock(tditBlock, "tditBlock");
+ GameRegistry.registerTileEntity(TDITTileEntity.class, "tditTileEntity");
+ GameRegistry.registerItem(tditft, "tditftItem");
+ proxy.load();
+ registerEntities();
+ if(!IHLUtils.hasOreDictionaryEntry("ingotBrick"))
+ {
+ OreDictionary.registerOre("ingotBrick", Items.brick);
+ }
+ if(!IHLUtils.hasOreDictionaryEntry("dustGunpowder"))
+ {
+ OreDictionary.registerOre("dustGunpowder", Items.gunpowder);
+ }
+
+ IHLMod.log.info("IHL precalculating explosion.");
+ explosionHandler = new ExplosionVector();
+ IHLMod.log.info("Explosion calculated. Amount of start vectors is "+explosionHandler.startVectors.size());
+ }
+
+ @EventHandler
+ public void postInit(FMLPostInitializationEvent evt) throws IOException
+ {
+ ic2Leaves=StackUtil.getBlock(IC2Items.getItem("rubberLeaves"));
+ ic2Wood=StackUtil.getBlock(IC2Items.getItem("rubberWood"));
+ boolean isCodeChickenCoreLoaded=true;
+ try
+ {
+ Class.forName("codechicken.core.asm.TweakTransformer");
+ }
+ catch (ClassNotFoundException e)
+ {
+ isCodeChickenCoreLoaded=false;
+ }
+ if(isCodeChickenCoreLoaded)
+ {
+ codechicken.core.asm.CodeChickenCoreModContainer.loadConfig();
+ ConfigTag tweaks = codechicken.core.asm.CodeChickenCoreModContainer.config.getTag("tweaks");
+ cccFiniteWater = tweaks.getTag("finiteWater").setComment("If set to true two adjacent water source blocks will not generate a third.").getBooleanValue(true);
+ }
+ if(!IHLMod.config.skipRecipeLoad)
+ {
+ if(IHLMod.config.enableRubberTreeSack)
+ {
+ GameRegistry.addRecipe(new ItemStack(sackBlock, 1), new Object[]{ "STS", "L L", "LLL", 'S', Items.string, 'T', Items.stick, 'L', Items.leather});
+ Recipes.advRecipes.addRecipe(new ItemStack(evaporatorBlock,1), new Object[] { " B ", " I ", " ", Character.valueOf('B'), Items.bucket, Character.valueOf('I'), IC2Items.getItem("ironFurnace")});
+ EvaporatorTileEntity.init();
+ }
+ if(IHLMod.config.enableTDIT)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(tditBlock,1), new Object[] { "AAA", "CMC", "ATA", Character.valueOf('A'), IC2Items.getItem("advancedAlloy"), Character.valueOf('C'), new ItemStack(Blocks.chest,1), Character.valueOf('M'), IC2Items.getItem("advancedMachine"), Character.valueOf('T'), IC2Items.getItem("teleporter")});
+ Recipes.advRecipes.addRecipe(new ItemStack(tditft,1), new Object[] { " CC", "IAI", " ", Character.valueOf('I'), IC2Items.getItem("casingiron"), Character.valueOf('C'), IC2Items.getItem("copperCableItem"), Character.valueOf('A'), IC2Items.getItem("advancedCircuit")});
+ }
+ GameRegistry.addRecipe(IHLUtils.getThisModItemStack("glassBoxBlock"), new Object[]{ " ", "G G", "GGG", 'G', new ItemStack(Blocks.glass_pane,1)});
+ GameRegistry.addRecipe(new ItemStack(boneBlock, 1), new Object[]{ "XXX", "XYX", "XXX", 'X', Items.bone, 'Y', Items.iron_ingot});
+ GameRegistry.addRecipe(new ItemStack(boneBlock, 1), new Object[]{ "XZX", "XYX", "XZX", 'X', Items.bone, 'Y', Items.iron_ingot, 'Z', ihlSkull});
+ GameRegistry.addShapelessRecipe(new ItemStack(Items.dye, 2, 15), new Object[] {ihlSkull});
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getThisModItemStack("bucket_SpruceResin"), IHLUtils.getThisModItemStack("bucket_tarPitch"), 20F);
+ ItemStack nuggetTarPitch = OreDictionary.getOres("nuggetTarPitch").get(0).copy();
+ GameRegistry.addShapelessRecipe(OreDictionary.getOres("ingotTarPitch").get(0).copy(), new Object[]{nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch,nuggetTarPitch});
+ if(IHLUtils.hasOreDictionaryEntry("brickPeat") && GameRegistry.findItem("Forestry", "bituminousPeat")!=null)GameRegistry.addRecipe(new ItemStack(GameRegistry.findItem("Forestry", "bituminousPeat"), 5), new Object[] { "BBB", "BPB", "BBB", 'B', IHLUtils.getOreDictItemStack("brickPeat"), 'P', OreDictionary.getOres("ingotTarPitch").get(0)});
+ pfaalimestone = IHLUtils.getOtherModItemStackWithDamage("PFAAGeologica", "mediumStone",0);
+ pfaacobblelimestone = IHLUtils.getOtherModItemStackWithDamage("PFAAGeologica", "mediumCobble",0);
+ isGregTechModLoaded=Loader.isModLoaded("gregtech");
+ if(isGregTechModLoaded)
+ {
+ try
+ {
+ Class.forName("gregapi.GT_API");
+ }
+ catch (ClassNotFoundException e)
+ {
+ isGT_API_Version_5=true;
+ }
+ if(isGT_API_Version_5)
+ {
+ this.loadGT5Recipes();
+ }
+ else
+ {
+ this.loadGT6Recipes();
+ }
+ }
+ else
+ {
+ this.loadIC2Recipes();
+ }
+ IHLUtils.addIC2RollingRecipe("ingotTungsten", IHLUtils.getOreDictItemStack("plateTungsten"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedGyubnera", IHLUtils.getThisModItemStack("crushedPurifiedGyubnera"),IHLUtils.getThisModItemStack("dustPotassiumFeldspar"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedCinnabar", IHLUtils.getThisModItemStack("crushedPurifiedCinnabar"),IHLUtils.getThisModItemStack("dustPotassiumFeldspar"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedBauxite", IHLUtils.getThisModItemStack("crushedPurifiedBauxite"),IHLUtils.getOreDictItemStack("dustClay"));
+ IHLUtils.addIC2CentrifugeRecipe("crushedStibnite", IHLUtils.getThisModItemStack("crushedPurifiedStibnite"),IHLUtils.getOreDictItemStack("dustTinyGold"));
+ IHLUtils.addIC2MaceratorRecipe("logWood", IHLUtils.getThisModItemStack("dustWood"));
+ if(IHLUtils.hasOreDictionaryEntry("blockLimestone"))IHLUtils.addIC2MaceratorRecipe("blockLimestone", IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ if(pfaalimestone!=null)IHLUtils.addIC2MaceratorRecipe(pfaalimestone, IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ if(pfaacobblelimestone!=null)IHLUtils.addIC2MaceratorRecipe(pfaacobblelimestone, IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ IHLUtils.addIC2MaceratorRecipe("oreGypsum", IHLUtils.getOreDictItemStack("dustGypsum"));
+ IHLUtils.addIC2MaceratorRecipe("orePotassiumFeldspar", IHLUtils.getOreDictItemStack("dustPotassiumFeldspar"));
+ IHLUtils.addIC2MaceratorRecipe("oreLimestone", IHLUtils.getOreDictItemStackWithSize("dustCalcite",4));
+ IHLUtils.addIC2MaceratorRecipe("oreSaltpeter", IHLUtils.getOreDictItemStackWithSize("dustSaltpeter",4));
+ IHLUtils.addIC2MaceratorRecipe("oreGyubnera", IHLUtils.getThisModItemStackWithSize("crushedGyubnera",2));
+ IHLUtils.addIC2MaceratorRecipe("oreCinnabar", IHLUtils.getThisModItemStackWithSize("crushedCinnabar",2));
+ IHLUtils.addIC2MaceratorRecipe("oreBauxite", IHLUtils.getThisModItemStackWithSize("crushedBauxite",2));
+ IHLUtils.addIC2MaceratorRecipe("crushedPurifiedBauxite", IHLUtils.getThisModItemStack("dustBauxite"));
+ IHLUtils.addIC2MaceratorRecipe("oreStibnite", IHLUtils.getThisModItemStackWithSize("crushedStibnite",2));
+ IHLUtils.addIC2MaceratorRecipe("crushedPurifiedStibnite", IHLUtils.getThisModItemStack("dustStibnite"));
+ IHLUtils.addIC2MaceratorRecipe("blockGlass", IHLUtils.getOreDictItemStackWithSize("dustGlass",1));
+ IHLUtils.addIC2MaceratorRecipe("stickGraphite",2, IHLUtils.getThisModItemStack("dustGraphite"));
+ IHLUtils.addIC2MaceratorRecipe("oreMica", IHLUtils.getThisModItemStackWithSize("dustMica",4));
+ IHLUtils.addIC2MaceratorRecipe("oreTrona", IHLUtils.getThisModItemStackWithSize("dustTrona",4));
+ IHLUtils.addIC2MaceratorRecipe(Ic2Items.iridiumOre, IHLUtils.getThisModItemStack("dustIridium"));
+ IHLUtils.addIC2MaceratorRecipe("oreDatolite", IHLUtils.getThisModItemStackWithSize("dustDatolite",4));
+ IHLUtils.addIC2MaceratorRecipe("oreBischofite", IHLUtils.getThisModItemStackWithSize("dustBischofite",4));
+ IHLUtils.addIC2MaceratorRecipe("ingotBrick", IHLUtils.getOreDictItemStackWithSize("dustBrick",1));
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("dustIrongraphite",2), new Object[] {new RecipeInputOreDict("dustIron"), new RecipeInputOreDict("dustGraphite")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getOreDictItemStackWithSize("dustPorcelain",4), new Object[] {new RecipeInputOreDict("dustClay"),new RecipeInputOreDict("dustClay"), new RecipeInputOreDict("dustSiliconDioxide"), new RecipeInputOreDict("dustPotassiumFeldspar")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStack("chisel"), new Object[] {IHLUtils.getThisModItemStack("grindstone"),IHLUtils.getThisModItemStack("blankChiselSteel")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze"), new Object[] {IHLUtils.getThisModItemStack("grindstone"),IHLUtils.getThisModItemStack("carvingKnifeBronze")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("hammer"), new Object[] { "H ", "SC ", " ", Character.valueOf('H'),IHLUtils.getThisModItemStack("toolHeadHammerSmallSteel"), Character.valueOf('S'),new ItemStack(Items.stick), Character.valueOf('C'), new RecipeInputOreDict("craftingToolKnife")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("grindstone",2), new Object[] { " H ", " Q ", " ", Character.valueOf('H'), new RecipeInputOreDict("craftingToolForgeHammer"), Character.valueOf('Q'), new RecipeInputOreDict("blockQuartz")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("grindstone",2), new Object[] { " H ", " Q ", " ", Character.valueOf('H'), new RecipeInputOreDict("craftingToolHardHammer"), Character.valueOf('Q'), new RecipeInputOreDict("blockQuartz")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("blankNeedleFileSteel",64), new Object[] { " H ", " C ", " P ", Character.valueOf('H'), new RecipeInputOreDict("craftingToolForgeHammer"), Character.valueOf('C'), new RecipeInputOreDict("craftingToolChisel"), Character.valueOf('P'), IHLUtils.getThisModItemStack("plateHotSteel")});
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputOreDict("dustIrongraphite"), null, IHLUtils.getThisModItemStackWithSize("linerIronGraphite",4));
+ Recipes.compressor.addRecipe(new RecipeInputOreDict("foilMica",4), null, IHLUtils.getThisModItemStack("plateMica"));
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputOreDict("dustBoronCarbide"), null, IHLUtils.getThisModItemStackWithSize("stickBoronCarbide",2));
+ Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(IHLUtils.getThisModItemStack("dustCoalElectrodePremix")), null, IHLUtils.getThisModItemStack("plateRawCoal"));
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputItemStack(IHLUtils.getThisModItemStack("foilRubberWithSulfur")), null, IHLUtils.getThisModItemStack("batteryCellsEbonite"));
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStack("dustAntimony"), new Object[]{IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony"),IHLUtils.getThisModItemStack("dustTinyAntimony")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("dustTinyAntimony",9), new Object[]{IHLUtils.getThisModItemStack("dustAntimony")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStack("dustSilicon"), new Object[]{IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon"),IHLUtils.getThisModItemStack("dustTinySilicon")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("dustTinySilicon",9), new Object[]{IHLUtils.getThisModItemStack("dustSilicon")});
+ GameRegistry.addShapelessRecipe(IHLUtils.getThisModItemStack("dustSolderingAlloy"), new Object[]{IHLUtils.getOreDictItemStack("dustTin"),IHLUtils.getThisModItemStack("dustTinyAntimony")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("achesonFurnance"), new Object[] { "BPB", " ", "B B", Character.valueOf('B'), new RecipeInputOreDict("ingotBrick"), Character.valueOf('P'), new RecipeInputOreDict("plateSteel")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("muffleFurnance"), new Object[] { "BCB", "SDP", "BSB", Character.valueOf('B'), new RecipeInputOreDict("ingotBrick"), Character.valueOf('P'), new RecipeInputOreDict("plateSteel"), Character.valueOf('C'), IHLUtils.getThisModItemStack("crucibleMixture"), Character.valueOf('S'), new RecipeInputOreDict("stickGraphite"), Character.valueOf('D'), new RecipeInputOreDict("dustCarborundum")});
+
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",64), new Object[] { "VFS", "DR ", "WT ",
+ Character.valueOf('V'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("viseSteel")),
+ Character.valueOf('F'), new RecipeInputOreDict("craftingToolFile"),
+ Character.valueOf('S'), new RecipeInputOreDict("stickSteel"),
+ Character.valueOf('D'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("handDrillBronze")),
+ Character.valueOf('R'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("drillSteelHardened")),
+ Character.valueOf('W'), new RecipeInputOreDict("craftingToolSaw"),
+ Character.valueOf('T'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("tapM10x1SteelHardened"))});
+
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8), new Object[] { "VFS", "DR ", "W ",
+ Character.valueOf('V'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("viseSteel")),
+ Character.valueOf('F'), new RecipeInputOreDict("craftingToolFile"),
+ Character.valueOf('S'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("barD10Steel")),
+ Character.valueOf('D'), new RecipeInputOreDict("craftingToolHardHammer"),
+ Character.valueOf('R'), new RecipeInputItemStack(IHLUtils.getThisModItemStack("diceM10x1SteelHardened")),
+ Character.valueOf('W'), new RecipeInputOreDict("craftingToolSaw")});
+ ItemStack crystal = IC2Items.getItem("lapotronCrystal").copy();
+ ItemStack advBattery = IC2Items.getItem("advBattery").copy();
+ ItemStack chargedReBattery = IC2Items.getItem("chargedReBattery").copy();
+ crystal.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ advBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ chargedReBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+
+ if(IHLMod.config.enableCollectors)
+ {
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), IC2Items.getItem("reBattery"), Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), chargedReBattery, Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingbronze"), Character.valueOf('R'), advBattery, Character.valueOf('E'), new ItemStack(Items.ender_pearl, 1), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), IC2Items.getItem("reBattery"), Character.valueOf('E'), IC2Items.getItem("advancedMachine"), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingiron"), Character.valueOf('R'), chargedReBattery, Character.valueOf('E'), IC2Items.getItem("advancedMachine"), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+ Recipes.advRecipes.addRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "ICI", "RER", "IZI", Character.valueOf('I'), IC2Items.getItem("ironCableItem"), Character.valueOf('C'), IC2Items.getItem("casingbronze"), Character.valueOf('R'), advBattery, Character.valueOf('E'), IC2Items.getItem("advancedMachine"), Character.valueOf('Z'), IC2Items.getItem("advancedCircuit")});
+
+ Recipes.advRecipes.addRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), IC2Items.getItem("platelapi"), Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), IC2Items.getItem("glassFiberCableItem"), Character.valueOf('L'), crystal});
+ }
+ if(IHLMod.config.enableHandpump)
+ {
+ Recipes.advRecipes.addRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " C ", " P", Character.valueOf('T'), IC2Items.getItem("treetap"), Character.valueOf('C'), IC2Items.getItem("cell"), Character.valueOf('P'), IC2Items.getItem("powerunitsmall")});
+ Recipes.advRecipes.addRecipe(((AdvancedHandPump) ic2_advanced_handpump).getItemStack(0), new Object[] { "TK ", "KCA", " RP", Character.valueOf('T'), IC2Items.getItem("treetap"), Character.valueOf('K'), IC2Items.getItem("advancedAlloy"), Character.valueOf('C'), IC2Items.getItem("cell"), Character.valueOf('A'), IC2Items.getItem("advancedCircuit"), Character.valueOf('R'), IC2Items.getItem("energyCrystal"), Character.valueOf('P'), IC2Items.getItem("powerunitsmall")});
+ }
+
+ ItemStack forestryWaxCapsule = IHLUtils.getOtherModItemStackWithDamage("Forestry", "waxCapsule", 0);
+ ItemStack forestryWaxCast = IHLUtils.getOtherModItemStackWithDamage("Forestry", "waxCast", 0);
+ ItemStack forestryCandle = IHLUtils.getOtherModItemStackWithDamage("Forestry", "candle", 0);
+ ItemStack forestryBeesWax = IHLUtils.getOtherModItemStackWithDamage("Forestry", "beeswax", 0);
+ if(forestryWaxCapsule!=null)
+ {
+ Recipes.advRecipes.addRecipe(forestryWaxCapsule, new Object[] { "SBS", " ", " ", Character.valueOf('S'), IHLUtils.getThisModItemStack("ingotStearin"),Character.valueOf('B'),forestryBeesWax});
+ }
+ if(forestryCandle!=null)
+ {
+ Recipes.advRecipes.addRecipe(forestryCandle, new Object[] { " S ", " I ", " ", Character.valueOf('S'), new ItemStack(Items.string),Character.valueOf('I'),IHLUtils.getThisModItemStack("ingotStearin")});
+ }
+ if(forestryWaxCast!=null)
+ {
+ Recipes.advRecipes.addRecipe(forestryWaxCast, new Object[] { "BSS", "S S", "SSB", Character.valueOf('S'), IHLUtils.getThisModItemStack("ingotStearin"),Character.valueOf('B'),forestryBeesWax});
+ }
+ Iterator<ItemStack> odi = OreDictionary.getOres("dustGypsum").iterator();
+ while(odi.hasNext())
+ {
+ ItemStack stack = odi.next().copy();
+ stack.stackSize=2;
+ FurnaceRecipes.smelting().func_151394_a(stack, IHLUtils.getThisModItemStack("dustDehydratedGypsum"), 20F);
+ }
+ Recipes.FluidHeatGenerator.addFluid("oleicacid", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("mineraloil", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("acetylene", 10, 64);
+ Recipes.FluidHeatGenerator.addFluid("glyceryl", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("turpentine", 10, 16);
+ Recipes.FluidHeatGenerator.addFluid("fueloil", 10, 32);
+ Recipes.FluidHeatGenerator.addFluid("crackinggas", 10, 32);
+ Recipes.semiFluidGenerator.addFluid("hydrogen", 10, 32);
+ Recipes.semiFluidGenerator.addFluid("crackinggas", 10, 32);
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStackWithSize("breadWithLard",4), new Object[] {new ItemStack(Items.bread), IHLUtils.getThisModItemStack("muttonLard")});
+ Recipes.advRecipes.addShapelessRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), new Object[] {Ic2Items.coalDust, IHLUtils.getOreDictItemStack("nuggetTarPitch")});
+ Recipes.metalformerExtruding.addRecipe(new RecipeInputItemStack(IHLUtils.getThisModItemStack("dustCoalElectrodePremix")), null, IHLUtils.getThisModItemStack("stickCoalElectrodePremix"));
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), IHLUtils.getOreDictItemStack("stickCoal"), 20F);
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getThisModItemStack("plateRawCoal"), IHLUtils.getOreDictItemStack("plateCoal"), 20F);
+ FurnaceRecipes.smelting().func_151394_a(IHLUtils.getOreDictItemStackWithSize("dustCalcite",3), IHLUtils.getOreDictItemStack("dustQuicklime"), 2F);
+ ItemSubstance.postInit();
+ ItemStack lathingTool = Ic2Items.LathingTool.copy();
+ lathingTool.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {new RecipeInputDie("setOfDies1_5sqmm",240)}),Arrays.asList(new ItemStack[] {Ic2Items.copperCableItem}),Arrays.asList(new ItemStack[] {IHLUtils.getUninsulatedWire("Copper",1,240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {new RecipeInputDie("setOfDies1_5sqmm",240)}),Arrays.asList(new ItemStack[] {Ic2Items.ironCableItem}),Arrays.asList(new ItemStack[] {IHLUtils.getUninsulatedWire("Steel",1,240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("bucket_tarPitch"),new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[] {new ItemStack(Items.bucket),IHLUtils.getOreDictItemStackWithSize("nuggetTarPitch",4),new ItemStack(Blocks.torch)})));
+ List<IRecipeInput> materialList3 = new ArrayList();
+ materialList3.add(new RecipeInputItemStack(new ItemStack(Blocks.sand,1 , OreDictionary.WILDCARD_VALUE)));
+ materialList3.add(new RecipeInputOreDict("dustClay"));
+ materialList3.add(new RecipeInputFluidContainer(FluidRegistry.WATER,1));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("ingot")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("tub")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("blankChisel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("carvingKnife")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("toolHeadHammerSmall")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("barD10")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("stick")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("setOfPartsForLVElemotor")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("pipelineAccessories")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("highPressureVessel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("gasJet")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("handDrillSetOfMoldedParts")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("detonationSprayingMachineSetOfMoldedParts")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,materialList3,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getSandInjectionMoldForResult("viseSetOfMoldedParts")})));
+ //Sand molds recipe section end
+ List<ItemStack> materialsForPrecisionMold = Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("ingotStearin"), IHLUtils.getOreDictItemStack("cellLiquidGlass"), IHLUtils.getOreDictItemStack("dustSiliconDioxide"), new ItemStack(Blocks.sand)});
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("rollingMachineSetOfMoldedParts"), Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("polishingPucks"), Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("turboCompressorSetOfMoldedParts"), Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),materialsForPrecisionMold,Arrays.asList(new ItemStack[]{InjectionMoldBlock.instance.getGypsumInjectionMoldForResult("extruderSetOfMoldedParts"), Ic2Items.cell.copy()})));
+ //Precision molds recipe section end
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("chisel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10SteelHot")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("drillSteel",2)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("chisel"),IHLUtils.getThisModItemStack("needleFile")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10SteelHot")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("sawBladeSteel",2)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze"),IHLUtils.getThisModItemStack("needleFile")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStack("sawBladeSteelHardened"),new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("hackSawSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("needleFile"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("blankSetOfFilesSteel",4)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("viseSetOfMoldedPartsSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("viseSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("stickSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("diceM10x1Steel",16)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("needleFile"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("tapM10x1Steel",2)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",12),IHLUtils.getThisModItemStackWithSize("barD10Steel",16),IHLUtils.getOreDictItemStackWithSize("plateSteel",4),IHLUtils.getOreDictItemStack("stickSteel"), new ItemStack(Items.leather), new ItemStack(Items.string)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("lathePart1"),IHLUtils.getThisModItemStack("lathePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStack("extruderSetOfMoldedPartsSteel"),IHLUtils.getThisModItemStack("meshGlass"),IHLUtils.getThisModItemStack("dustCarborundum"), new ItemStack(Items.leather), new ItemStack(Items.string)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("extruder"),IHLUtils.getThisModItemStack("vulcanizationExtrudingMold")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("chisel"),IHLUtils.getThisModItemStack("hammer")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10SteelHot")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("nailSteel",8)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStackWithSize("nailSteel",16),new ItemStack(Blocks.planks), new ItemStack(Items.leather), new ItemStack(Items.string),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("coiler")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("handDrillSetOfMoldedPartsBronze"), new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("handDrillBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"), lathingTool}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),IHLUtils.getThisModItemStack("dustCarborundum"),IHLUtils.getThisModItemStack("crucibleMixture"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStackWithSize("stickSteel",4), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 16)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("wireMill")}), Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("setOfPartsForLVElemotorSteel"),IHLUtils.getThisModItemStack("ingotStearin"),IHLUtils.getUninsulatedWire("Copper", 4,15),new ItemStack(Items.paper),new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electricMotorLVLEDC")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("setOfPartsForLVElemotorSteel"),IHLUtils.getOreDictItemStack("cellSpruceResin"),IHLUtils.getUninsulatedWire("Copper", 4,15),new ItemStack(Items.paper),new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electricMotorLVLEDC"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("linerIronGraphiteHot"), IHLUtils.getThisModItemStack("muttonLard")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("linerIronGraphiteGreased")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStackWithSize("dustBrick",7),IHLUtils.getOreDictItemStackWithSize("dustClay",3), IHLUtils.getOreDictItemStackWithSize("dustGraphite",2),Ic2Items.waterCell.copy()}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("crucibleMixture",12),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("crucibleMixture")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("crucible")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("stickSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",64)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), Ic2Items.bronzeAxe}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.iron_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.golden_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.diamond_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8), new ItemStack(Items.leather), new ItemStack(Items.stick,8), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("loom")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), Ic2Items.bronzeAxe.copy()}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), new ItemStack(Items.iron_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), new ItemStack(Items.golden_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), new ItemStack(Items.diamond_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("detonationSprayingMachineSetOfMoldedPartsBronze"), new ItemStack(Blocks.planks), IHLUtils.getThisModItemStackWithSize("nailSteel", 8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cannonBronze")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), lathingTool, IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("ingotHotSteel"),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStack("springSteel"),IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gasReducerSteel")}), Arrays.asList(new ItemStack [] {IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"), lathingTool}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("ingotHotSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("pistonCylinderSteel")}), Arrays.asList(new ItemStack [] {IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[] {IHLUtils.getUninsulatedWire("Steel", 1, 240), new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("springSteel",4)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("barD10SteelHot",2),IHLUtils.getThisModItemStack("springSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("tinSnipsSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStackWithSize("gasReducerSteel",2),IHLUtils.getThisModItemStack("gasJetSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",10),IHLUtils.getThisModItemStackWithSize("highPressureVesselSteel",2),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",32),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",32),IHLUtils.getThisModWireItemStackWithLength("pipeVulcanizedRubber", 16)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened"), lathingTool}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("pistonCylinderSteel"),IHLUtils.getOreDictItemStackWithSize("plateSteel",2),IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStackWithSize("stickSteel",2), IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 4),IHLUtils.getThisModItemStackWithSize("highPressureVesselSteel",2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cryogenicDistiller")}), Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("lathePart1")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("meshGlass"),
+ IHLUtils.getThisModItemStack("dustCarborundum"),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("foilRubber"),
+ IHLUtils.getThisModItemStack("highPressureVesselSteel"),
+ IHLUtils.getOreDictItemStack("stickSteel"),
+ IHLUtils.getOreDictItemStack("plateSteel"),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("chemicalReactor")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), Ic2Items.bronzeAxe}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.iron_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.golden_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("diceM10x1SteelHardened"), new ItemStack(Items.diamond_axe)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("barD10SteelHot",7),IHLUtils.getOreDictItemStack("plateSteel"), new ItemStack(Items.leather), IHLUtils.getThisModItemStackWithSize("nailSteel", 8), new ItemStack(Blocks.log)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("woodenRollingMachinePart1"),IHLUtils.getThisModItemStack("woodenRollingMachinePart2")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fiberGlassDieSteel")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getOreDictItemStackWithSize("plateSteel",2),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("cableAnchor")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("setOfDies1_5sqmm")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",4),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4),
+ IHLUtils.getThisModItemStack("rollingMachineSetOfMoldedPartsSteel"),
+ IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased", 4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("rollingMachinePart1")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",4),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("rollingMachinePart2")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electrolysisBathRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("ovenRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("precipitatorCondenserRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("chimneyKneeRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gaedesPumpBarrelRawPorcelain"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ringRawPorcelain",4),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("lampHolderRawPorcelain",4),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{Ic2Items.waterCell.copy(), IHLUtils.getOreDictItemStack("dustPorcelain")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("insulatorRawPorcelain",4),Ic2Items.cell.copy()})));
+ //Raw porcelain recipes section end
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStackWithSize("foilSteel",4),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel", 4),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("foilRubber"),
+ IHLUtils.getOreDictItemStack("plateSteel"),
+ IHLUtils.getThisModItemStack("turboCompressorSetOfMoldedPartsBronze"),
+ IHLUtils.getThisModItemStack("highPressureVesselSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fluidizedBedReactor")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("pistonCylinderSteel",2),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStackWithSize("highPressureVesselSteel",2),IHLUtils.getThisModItemStack("electrolysisBathPorcelain"),IHLUtils.getThisModItemStackWithSize("stickGraphite",2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("labElectrolyzer")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getOreDictItemStack("foilTungsten"),IHLUtils.getOreDictItemStack("dustQuicklime"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("gu-81m",4)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStack("barD10Steel"),new ItemStack(Items.stick)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getOreDictItemStack("plateSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4),IHLUtils.getThisModItemStack("foilRubber"),IHLUtils.getThisModItemStack("gaedesPumpBarrelPorcelain"),IHLFluid.getCell("mercury")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump"),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("cellMineralOil"),IHLUtils.getOreDictItemStack("foilMica"),IHLUtils.getOreDictItemStack("foilCopper"),IHLUtils.getOreDictItemStack("foilSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("highVoltageCapacitor"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("cellMineralOil"),IHLUtils.getOreDictItemStack("foilMica"),IHLUtils.getOreDictItemStack("foilGold"),IHLUtils.getOreDictItemStack("foilSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("highVoltageCapacitor"),Ic2Items.cell.copy()})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ringPorcelain",64),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fractionatorSection")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("stickSteel",4),IHLUtils.getOreDictItemStackWithSize("plateSteel",2),IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fractionatorBottom")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("fractionatorCover")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("drillSteelHardened")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",6),IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",6),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStackWithSize("barD10Steel",4)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("refluxCondenser")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("dustFerrite"),IHLUtils.getThisModItemStack("ingotStearin")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ringRawFerrite",4)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLFluid.getCell("mercury"),IHLUtils.getOreDictItemStack("stickBoronCarbide"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("ignitron",6),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getOreDictItemStack("foilTungsten"),IHLUtils.getOreDictItemStack("dustQuicklime"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("stickGraphite"),IHLUtils.getThisModItemStack("barD10Steel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("valveTube1C21P",6)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("foilGold"),IHLUtils.getOreDictItemStack("foilMica"),IHLFluid.getCell("cablingcolophony"),IHLUtils.getOreDictItemStack("dustGlass"),IHLUtils.getOreDictItemStack("foilSteel"),IHLUtils.getThisModItemStack("springSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("vacuumSwitch",16),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("insulatorPorcelain",8),
+ IHLUtils.getThisModItemStackWithSize("plateMica",2),
+ IHLUtils.getThisModItemStackWithSize("highVoltageCapacitor",3),
+ IHLFluid.getCell("cablingcolophony"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStack("foilMica"),
+ IHLUtils.getThisModItemStackWithSize("gu-81m",4),
+ IHLUtils.getThisModItemStackWithSize("foilSteel",8),
+ IHLUtils.getUninsulatedWire("Copper",288,15),
+ IHLFluid.getCell("mineraloil"),
+ IHLUtils.getThisModItemStackWithSize("ignitron",6),
+ IHLUtils.getThisModItemStackWithSize("valveTube1C21P",6)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("rectifierTransformerUnit"),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilCopper"),
+ IHLFluid.getCell("cablingcolophony"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStackWithSize("ringFerrite",8),
+ IHLUtils.getThisModItemStack("foilMica")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("hallSensor",8),Ic2Items.cell.copy()}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStackWithSize("insulatorPorcelain",4),
+ IHLUtils.getUninsulatedWire("Copper",4,15),
+ IHLUtils.getThisModItemStack("foilMica"),
+ IHLUtils.getThisModItemStack("leadAcidBattery"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStack("vacuumSwitch"),
+ IHLUtils.getThisModItemStackWithSize("hallSensor",2),
+ IHLUtils.getThisModItemStackWithSize("valveTube1C21P",2)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("batterySwitchUnit")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ ItemStack twoEmptyCells = Ic2Items.cell.copy();
+ twoEmptyCells.stackSize=2;
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilGold"),
+ IHLUtils.getThisModItemStack("foilRubberWithSulfur"),
+ IHLUtils.getThisModItemStack("foilLead"),
+ IHLFluid.getCell("sulfuricacid"),
+ IHLFluid.getCell("ic2distilledwater"),
+ IHLUtils.getThisModItemStack("dustSolderingAlloy"),
+ IHLUtils.getThisModItemStack("dustLeadPlumbate"),
+ IHLUtils.getThisModItemStackWithSize("batteryCellsEbonite",8)}),Arrays.asList(new ItemStack[]{BatteryItem.getFullyChargedItemStackWithSize("leadAcidBattery",8),twoEmptyCells}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilSteel"),
+ IHLUtils.getThisModItemStackWithSize("plateGraphite",5),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel",4),
+ IHLUtils.getThisModItemStack("stickGraphite"),
+ IHLUtils.getThisModItemStack("dustCoalElectrodePremix"),
+ IHLUtils.getThisModItemStack("foilRubber")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("electrolysisBath")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLFluid.getCell("turpentine"),
+ IHLUtils.getThisModItemStack("fabric")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLFluid.getCell("turpentine"),
+ new ItemStack(Blocks.wool)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ if(IHLUtils.hasOreDictionaryEntry("cellEthanol"))
+ {
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLUtils.getOreDictItemStack("cellEthanol"),
+ IHLUtils.getThisModItemStack("fabric")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStack("dustTin"),
+ new ItemStack(Blocks.glass_pane,16),
+ IHLFluid.getCell("mercury"),
+ IHLUtils.getOreDictItemStack("cellEthanol"),
+ new ItemStack(Blocks.wool)}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("mirror",16),twoEmptyCells})));
+ }
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("glassBlowingTubeSteel"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("foilTungsten"),
+ IHLUtils.getThisModItemStack("foilCopper"),
+ IHLUtils.getThisModItemStackWithSize("lampHolderPorcelain",16),
+ IHLUtils.getOreDictItemStack("dustGlass")
+ }),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("lightBulb",16)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation"),IHLUtils.getThisModItemStack("gaedesMercuryRotaryPump")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("viseSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getThisModItemStack("lightBulb"),
+ IHLUtils.getThisModItemStack("foilSteel"),
+ IHLUtils.getInsulatedWire("Copper",1,15,"Rubber", 100),
+ IHLUtils.getOreDictItemStack("plateSteel"),
+ new ItemStack(Blocks.glass_pane)
+ }),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("spotlight")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hammer"),IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("handDrillBronze"),IHLUtils.getThisModItemStack("tapM10x1SteelHardened"),IHLUtils.getThisModItemStack("hackSawSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",8),
+ IHLUtils.getThisModItemStackWithSize("incisorSteelDiamondCoated",8),
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",16),
+ IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel",4),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("foilRubber")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("advancedShieldAssemblyUnitBlock")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("tinSnipsSteel"),IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel")}),Arrays.asList(new ItemStack[]{
+ IHLUtils.getOreDictItemStackWithSize("plateSteel",2),
+ IHLUtils.getOreDictItemStack("foilSteel"),
+ IHLUtils.getThisModItemStackWithSize("boltM10x1Steel",8),
+ IHLUtils.getThisModItemStackWithSize("nutM10x1Steel",8),
+ IHLUtils.getThisModItemStackWithSize("barD10Steel",16),
+ IHLUtils.getThisModItemStack("pipelineAccessoriesSteel"),
+ IHLUtils.getThisModItemStack("extruderSetOfMoldedPartsSteel"),
+ IHLUtils.getThisModItemStackWithSize("linerIronGraphiteGreased",4),
+ IHLUtils.getThisModItemStack("turboCompressorSetOfMoldedPartsBronze"),
+ IHLUtils.getThisModItemStack("foilRubber")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("hydrotransportPulpRegenerator")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {
+ RecipeInputs.cutter,
+ RecipeInputs.saw,
+ RecipeInputs.vise,
+ RecipeInputs.file}),
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("plateSteel",2),
+ new RecipeInputOreDict("foilSteel",2),
+ RecipeInputs.get("boltM10x1Steel",8),
+ RecipeInputs.get("nutM10x1Steel",8),
+ RecipeInputs.get("barD10Steel",16),
+ RecipeInputs.get("rollingMachineSetOfMoldedPartsSteel"),
+ RecipeInputs.get("linerIronGraphiteGreased",4),
+ RecipeInputs.get("turboCompressorSetOfMoldedPartsBronze"),
+ RecipeInputs.get("foilRubber")}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("paperMachine")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {
+ RecipeInputs.cutter,
+ RecipeInputs.saw,
+ RecipeInputs.hammer,
+ RecipeInputs.file}),
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("plateSteel",2),
+ new RecipeInputOreDict("foilSteel"),
+ new RecipeInputItemStack(Ic2Items.elemotor),
+ RecipeInputs.get("boltM10x1Steel",8),
+ RecipeInputs.get("nutM10x1Steel",8),
+ RecipeInputs.get("linerIronGraphiteGreased",4),
+ RecipeInputs.get("turboCompressorSetOfMoldedPartsBronze",2)}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("blowerBlock")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("dyeRed"),
+ new RecipeInputWire("Copper",128,15,"Rubber",100,10000)}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModWireItemStackWithLength("EightPinDataCable",16)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new IRecipeInput[] {
+ RecipeInputs.cutter}),
+ Arrays.asList(new IRecipeInput[]{
+ new RecipeInputOreDict("plateSteel",2),
+ new RecipeInputOreDict("foilSteel"),
+ new RecipeInputOreDict("foilMica"),
+ new RecipeInputOreDict("foilCopper"),
+ new RecipeInputWire("Copper",8,15,"Rubber",100,10000)}),
+ Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("redstoneSignalConverter")}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("gasWeldingStation")})));
+
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("hackSawSteel"),IHLUtils.getThisModItemStack("viseSteel"),IHLUtils.getThisModItemStack("setOfFilesSteel"),IHLUtils.getThisModItemStack("drillSteelHardened"),IHLUtils.getThisModItemStack("handDrillBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getOreDictItemStack("plateSteel")}),Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStackWithSize("incisorSteel",4)})));
+ if(IHLMod.isGregTechModLoaded && IHLMod.isGT_API_Version_5)
+ {
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)})));
+
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),IHLUtils.getOreDictItemStack("dustRawRubber")})));
+ }
+ else
+ {
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(null,Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),Ic2Items.rubber}),Arrays.asList(new ItemStack[] {IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)})));
+
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15),Ic2Items.rubber})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240),Ic2Items.rubber})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,15,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15),Ic2Items.rubber})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,240,"RawRubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240),Ic2Items.rubber})));
+ }
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,15,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,15)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Copper", 1,240,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Copper", 1,240)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,15,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,15)})));
+ IronWorkbenchTileEntity.addRecipe(new IronWorkbenchRecipe(Arrays.asList(new ItemStack[]{IHLUtils.getThisModItemStack("sharpenedCarvingKnifeBronze")}),Arrays.asList(new ItemStack[]{IHLUtils.getInsulatedWire("Steel", 1,240,"Rubber",100)}),Arrays.asList(new ItemStack[]{IHLUtils.getUninsulatedWire("Steel", 1,240)})));
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustSiliconDioxide",2), new RecipeInputOreDict("dustCoal",4), "dustCarborundum");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustQuicklime"), new RecipeInputOreDict("dustCoal",4), "dustCalciumCarbide");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("stickCoal"), new RecipeInputOreDict("dustCoal"), "stickGraphite");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustTungsten"), new RecipeInputOreDict("dustCoal"), "ingotTungsten");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("dustBoricAcid",4), new RecipeInputOreDict("dustCoal",8), "dustBoronCarbide");
+ AchesonFurnanceTileEntity.addRecipe(new RecipeInputOreDict("plateCoal"), new RecipeInputOreDict("dustCoal",1), "plateGraphite");
+ GoldChimneyKneeTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("ic2steam", 1),IHLUtils.getFluidStackWithSize("sulfuricanhydride", 1)}),null), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 1));
+ if(FluidRegistry.isFluidRegistered("steam"))GoldChimneyKneeTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("steam", 1),IHLUtils.getFluidStackWithSize("sulfuricanhydride", 1)}),null), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 1));
+ GoldChimneyKneeTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("ic2superheatedsteam", 15),IHLUtils.getFluidStackWithSize("sulfuricanhydride", 4)}),null), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 4));
+ LeadOvenTileEntity.addRecipe(new UniversalRecipeInput(null,Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSulfur"), IHLUtils.getOreDictItemStack("dustSaltpeter")})), IHLUtils.getFluidStackWithSize("sulfuricanhydride", 23000));
+ LeadOvenTileEntity.addRecipe(new UniversalRecipeInput(null,Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("crushedPurifiedCinnabar")})), IHLUtils.getFluidStackWithSize("vapour.mercury", 3600));
+ LeadOvenTileEntity.addRecipe(IHLUtils.getThisModItemStack("dustStibnite"), IHLUtils.getThisModItemStack("dustAntimonyOxide"));
+ LeadOvenTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustSodiumHydrogenSulfate",2), IHLUtils.getFluidStackWithSize("vapour.sulfuricacid", 20000), IHLUtils.getOreDictItemStack("dustSodiumSulfate"));
+ LeadOvenTileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("dustSodiumZeoliteCoked",2), IHLUtils.getThisModItemStack("dustSodiumZeolite"));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {new FluidStack(FluidRegistry.WATER, 1500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustQuicklime", 1)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("limemilk", 2500)}),null,20));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {new FluidStack(FluidRegistry.WATER, 130),IHLUtils.getFluidStackWithSize("limemilk", 142)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("muttonLard", 6)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("glyceryl", 130)}),Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("ingotCalciumSoap", 5)}),200));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {new FluidStack(FluidRegistry.WATER, 600),IHLUtils.getFluidStackWithSize("sulfuricacid", 284)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithSize("ingotCalciumSoap", 6)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("oleicacid", 280)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getThisModItemStackWithSize("ingotStearin", 4)),new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustGypsum"),0.48f)}),200));
+ ImpregnatingMachineTileEntity.addChemicalRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("limemilk", 1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustTrona")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 1000)}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalcite")}),200));
+ DetonationSprayingMachineTileEntity.addRecipe(IHLUtils.getThisModItemStack("blankNeedleFileSteel"), IHLUtils.getThisModItemStack("needleFile"));
+ DetonationSprayingMachineTileEntity.addRecipe(IHLUtils.getThisModItemStack("blankSetOfFilesSteel"), IHLUtils.getThisModItemStack("setOfFilesSteel"));
+ DetonationSprayingMachineTileEntity.addRecipe(IHLUtils.getThisModItemStack("incisorSteel"), IHLUtils.getThisModItemStack("incisorSteelDiamondCoated"));
+ ItemStack drill = Ic2Items.miningDrill.copy();
+ drill.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ DetonationSprayingMachineTileEntity.addRecipe(drill, Ic2Items.diamondDrill.copy());
+ MuffleFurnanceTileEntity.addRecipe(Ic2Items.plateadviron.copy(), IHLUtils.getThisModItemStack("plateHotSteel"));
+ MuffleFurnanceTileEntity.addRecipe(Ic2Items.advIronIngot.copy(), IHLUtils.getOreDictItemStack("ingotHotSteel"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateTungsten"),IHLUtils.getThisModItemStack("plateHotTungsten"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("gaedesPumpBarrelRawPorcelain"),IHLUtils.getThisModItemStack("gaedesPumpBarrelPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(new ItemStack(IHLMod.crucible,0, OreDictionary.WILDCARD_VALUE), new ItemStack(IHLMod.crucible,0,1));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("injectionMold",0), IHLUtils.getThisModItemStackWithSize("injectionMold",0));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("sawBladeSteel"),IHLUtils.getThisModItemStack("sawBladeSteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("barD10Steel"),IHLUtils.getThisModItemStack("barD10SteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("linerIronGraphite"),IHLUtils.getThisModItemStack("linerIronGraphiteHot"));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustIronOxide"), IHLUtils.getOreDictItemStack("dustLithiumOxide")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustFerrite",2)}),200));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustSiliconDioxide",3), IHLUtils.getOreDictItemStackWithSize("dustMagnesium",2)})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSilicon"), IHLUtils.getOreDictItemStackWithSize("dustMagnesiumOxide",4)}),200));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustBauxite"), IHLUtils.getOreDictItemStack("dustSodiumHydroxide")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSodiumAluminate")}),200));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("drillSteel"),IHLUtils.getThisModItemStack("drillSteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("tapM10x1Steel"),IHLUtils.getThisModItemStack("tapM10x1SteelHot"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("diceM10x1Steel"),IHLUtils.getThisModItemStack("diceM10x1SteelHot"));
+ LoomTileEntity.addRecipe(IHLUtils.getThisModWireItemStackWithLength("fiberGlass", 1024), IHLUtils.getThisModItemStack("meshGlass"));
+ LoomTileEntity.addRecipe(new ItemStack(Items.string,4), IHLUtils.getThisModItemStack("fabric"));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStack("plateHotSteel"), IHLUtils.getOreDictItemStackWithSize("foilSteel",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStack("plateHotTungsten"), IHLUtils.getOreDictItemStackWithSize("foilTungsten",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateGold"), IHLUtils.getOreDictItemStackWithSize("foilGold",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateCopper"), IHLUtils.getOreDictItemStackWithSize("foilCopper",4));
+ RollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStack("plateLead"), IHLUtils.getOreDictItemStackWithSize("foilLead",4));
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("diceM10x1SteelHot","diceM10x1SteelHardened");
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("tapM10x1SteelHot","tapM10x1SteelHardened");
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("drillSteelHot","drillSteelHardened");
+ ImpregnatingMachineTileEntity.addQuenchingRecipe("sawBladeSteelHot","sawBladeSteelHardened");
+ ImpregnatingMachineTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("oleicacid", 1)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteHot")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteGreased")}),2));
+ ImpregnatingMachineTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("seedoil", 1)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteHot")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteGreased")}),2));
+ ImpregnatingMachineTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("mineraloil", 1)}), Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteHot")})), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("linerIronGraphiteGreased")}),2));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("foilRubberWithSulfur"),IHLUtils.getThisModItemStack("foilRubber"));
+ MuffleFurnanceTileEntity.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new IRecipeInput[] {new RecipeInputItemStack(IHLUtils.getThisModItemStack("pipeRubberWithSulfur"))})),new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStack("pipeVulcanizedRubber")}), 20));
+ GasWeldingStationTileEntity.addGasRecipe(IHLUtils.getOreDictItemStack("dustCalciumCarbide"),IHLUtils.getFluidStackWithSize("water", 666), IHLUtils.getFluidStackWithSize("acetylene", 1333), IHLUtils.getFluidStackWithSize("limemilk", 333));
+ CryogenicDistillerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("air", 1000), IHLUtils.getFluidStackWithSize("nitrogen", 781), IHLUtils.getFluidStackWithSize("oxygen", 209), false);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSiliconDioxide")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("liquidglass", 500)}),null,200));
+ PrecipitatorCondenserTileEntity.addRecipe("vapour.sulfuricacid", "sulfuricacid", 50);
+ PrecipitatorCondenserTileEntity.addRecipe("vapour.mercury", "mercury", 50);
+ PrecipitatorCondenserTileEntity.addRecipe("ic2steam", "ic2distilledwater", 100);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("glyceryl", 50),IHLUtils.getFluidStackWithSize("spruceresin", 1000)}),null), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("cablingcolophony", 600)}),null,200,true));
+ CryogenicDistillerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("spruceresin", 1000), IHLUtils.getFluidStackWithSize("ic2distilledwater", 150), IHLUtils.getFluidStackWithSize("turpentine", 300), true);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("fueloil", 2000)}),null), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.tarpitch", 144)}),null,200,true));
+ CryogenicDistillerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("fueloil", 2000), IHLUtils.getFluidStackWithSize("mineraloil", 1000), null, true);
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 4000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("crushedPurifiedGyubnera")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumtungstate", 4000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyManganeseOxide"),3.75f),new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyIronOxide"),9f/12f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("sulfuricacid", 1750)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustRockSalt",1)})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("hydrogenchloride", 1000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustPotassiumSulphate"),1.75f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("sulfuricacid", 3500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSalt")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("hydrogenchloride", 1000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustSodiumHydrogenSulfate"),3.5f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("sulfuricacid", 7000/9),new FluidStack(FluidRegistry.WATER,6000/9+1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustDatolite")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("boricacid", 1777)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustGypsum"),12f/9f),new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinySiliconDioxide"),3f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("limemilk", 1667),IHLUtils.getFluidStackWithSize("hydrogenchloride", 1334)}), null), new UniversalRecipeOutput(null,Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalciumChloride")}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumtungstate", 6667)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalciumChloride")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("saltwater", 6000)}),Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalciumTungstate")}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 2000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustWood"),IHLUtils.getOreDictItemStack("dustSodiumSulfide")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("pulp.cellulose", 1500),IHLUtils.getFluidStackWithSize("ic2biomass", 500)}),null,200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("cablingcolophony", 50),new FluidStack(FluidRegistry.WATER,2000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustMica")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("pulp.mica", 2000)}),null,200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("hydrogenchloride", 500),new FluidStack(FluidRegistry.WATER,7500)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustMagnesiumOxide")})), new UniversalRecipeOutput(null,Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustBischofite"),8.75f)}),200));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("liquidglass", 1000),new FluidStack(FluidRegistry.WATER,2000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustSodiumAluminate")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("pulp.sodiumzeolite", 4000)}),null,200));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("saltwater", 4000), IHLUtils.getOreDictItemStack("dustSalt"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("boricacid", 2288), IHLUtils.getOreDictItemStack("dustBoricAcid"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 2000), IHLUtils.getOreDictItemStack("dustSodiumHydroxide"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("pulp.sodiumzeolite", 4000), IHLUtils.getOreDictItemStack("dustSodiumZeolite"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("solution.lithiumchloride", 4000), IHLUtils.getOreDictItemStack("dustLithiumChloride"));
+ EvaporatorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("solution.calciumchloride", 4000), IHLUtils.getOreDictItemStack("dustCalciumChloride"));
+ ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("water", 2000),IHLUtils.getFluidStackWithSize("hydrogenchloride", 667)}), Arrays.asList(new IRecipeInput[] {new RecipeInputOreDict("dustCalciumTungstate")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("solution.calciumchloride", 2000)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTungsticAcid"),1.16f)}),200));
+ if(IHLUtils.hasOreDictionaryEntry("dustTungstate"))ChemicalReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("water", 1000),IHLUtils.getFluidStackWithSize("hydrogenchloride",140)}), Arrays.asList(new IRecipeInput[] {new RecipeInputOreDict("dustTungstate")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("solution.lithiumchloride", 560)}),Arrays.asList(new RecipeOutputItemStack[] {new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTungsticAcid"),1.0f)}),200));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustTungsticAcid",2), IHLUtils.getOreDictItemStack("dustTungstenOxide"),1.14f);
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("electrolysisBathRawPorcelain"), IHLUtils.getThisModItemStack("electrolysisBathPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("ovenRawPorcelain"), IHLUtils.getThisModItemStack("leadOven"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("precipitatorCondenserRawPorcelain"), IHLUtils.getThisModItemStack("goldPrecipitatorCondenser"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("chimneyKneeRawPorcelain"), IHLUtils.getThisModItemStack("goldChimneyKnee"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("ringRawPorcelain"), IHLUtils.getThisModItemStack("ringPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("ringRawFerrite"), IHLUtils.getThisModItemStack("ringFerrite"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("insulatorRawPorcelain"), IHLUtils.getThisModItemStack("insulatorPorcelain"));
+ MuffleFurnanceTileEntity.addRecipe(IHLUtils.getThisModItemStack("lampHolderRawPorcelain"), IHLUtils.getThisModItemStack("lampHolderPorcelain"));
+ LabElectrolyzerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("water", 300), IHLUtils.getFluidStackWithSize("hydrogen", 200), IHLUtils.getFluidStackWithSize("oxygen", 100), null);
+ LabElectrolyzerTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("saltwater", 1000), IHLUtils.getFluidStackWithSize("solution.natriumhydroxide", 875), IHLUtils.getFluidStackWithSize("chlorine", 100), null);
+ if(IHLUtils.hasOreDictionaryEntry("dustSilicon"))FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1333), IHLUtils.getOreDictItemStackWithSize("dustSiliconDioxide",1), IHLUtils.getFluidStackWithSize("ic2distilledwater", 2000), IHLUtils.getOreDictItemStackWithSize("dustTinySilicon",3));
+ if(IHLUtils.hasOreDictionaryEntry("dustManganese"))FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 2000), IHLUtils.getOreDictItemStackWithSize("dustManganeseOxide",2), IHLUtils.getFluidStackWithSize("ic2distilledwater", 3000), IHLUtils.getOreDictItemStack("dustManganese"));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1200), IHLUtils.getOreDictItemStack("dustIronOxide"), IHLUtils.getFluidStackWithSize("ic2distilledwater", 1800), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyIron"),3.6f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1500), IHLUtils.getOreDictItemStack("dustTungstenOxide"), IHLUtils.getFluidStackWithSize("ic2distilledwater", 2250), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyTungsten"),2.25f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 4000), IHLUtils.getOreDictItemStackWithSize("dustSodiumSulfate",3), IHLUtils.getFluidStackWithSize("ic2distilledwater", 6000), IHLUtils.getOreDictItemStack("dustSodiumSulfide"));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("hydrogen", 1200), IHLUtils.getOreDictItemStack("dustAntimonyOxide"), IHLUtils.getFluidStackWithSize("ic2distilledwater", 1800), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustTinyAntimony"),3.6f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oxygen", 1500), IHLUtils.getOreDictItemStack("dustIron"), null, new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustIronOxide"),2.5f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oxygen", 500), IHLUtils.getOreDictItemStack("dustLithium"), null, new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustLithiumOxide"),1.5f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oxygen", 1333), IHLUtils.getOreDictItemStack("dustLead"), null, new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustLeadPlumbate"),2.333f));
+ FluidizedBedReactorTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("chlorine", 2000), IHLUtils.getOreDictItemStack("dustCarborundum"), IHLUtils.getFluidStackWithSize("silicontetrachloride", 2500), new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustCoal"),0.5f));
+ FluidizedBedReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("hydrogen", 445),IHLUtils.getFluidStackWithSize("silicontetrachloride", 1667)}),Arrays.asList(new ItemStack [] {IHLUtils.getOreDictItemStackWithSize("dustIridium", 0),IHLUtils.getOreDictItemStack("dustTinySilicon")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("trichlorosilane", 2112)}),null,200));
+ FluidizedBedReactorTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("fueloil", 6000)}), Arrays.asList(new ItemStack [] {IHLUtils.getOreDictItemStack("dustSodiumZeolite")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack [] {IHLUtils.getFluidStackWithSize("fuel", 4500),IHLUtils.getFluidStackWithSize("crackinggas", 500)}),Arrays.asList(new RecipeOutputItemStack [] { new RecipeOutputItemStack(IHLUtils.getOreDictItemStack("dustSodiumZeoliteCoked"),1.9f)}), 2000));
+ Crucible.addRecipe("ingotSteel", IHLUtils.getFluidStackWithSize("molten.steel", 144));
+ Crucible.addRecipe("ingotBronze", IHLUtils.getFluidStackWithSize("molten.bronze", 144));
+ Crucible.addRecipe("ingotGold", IHLUtils.getFluidStackWithSize("molten.gold", 144));
+ Crucible.addRecipe("ingotMagnesium", IHLUtils.getFluidStackWithSize("molten.magnesium", 144));
+ Crucible.addRecipe("dustGold", IHLUtils.getFluidStackWithSize("molten.gold", 144));
+ Crucible.addRecipe("dustSalt", IHLUtils.getFluidStackWithSize("molten.sodiumchloride", 144));
+ Crucible.addRecipe("dustGlass", IHLUtils.getFluidStackWithSize("molten.glass", 144));
+ PaperMachineTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("pulp.cellulose", 1500), new ItemStack(Items.paper));
+ PaperMachineTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("pulp.mica", 500), IHLUtils.getThisModItemStack("foilMica"));
+ FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 60), IHLUtils.getFluidStackWithSize("fuel", 40));
+ if(FluidRegistry.isFluidRegistered("liquid_light_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_light_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 40), IHLUtils.getFluidStackWithSize("fuel", 60));
+ if(FluidRegistry.isFluidRegistered("liquid_medium_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_medium_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 60), IHLUtils.getFluidStackWithSize("fuel", 40));
+ if(FluidRegistry.isFluidRegistered("liquid_heavy_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_heavy_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 70), IHLUtils.getFluidStackWithSize("fuel", 30));
+ if(FluidRegistry.isFluidRegistered("liquid_extra_heavy_oil"))FractionatorBottomTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("liquid_extra_heavy_oil", 100), IHLUtils.getFluidStackWithSize("fueloil", 80), IHLUtils.getFluidStackWithSize("fuel", 20));
+ ElectrolysisBathTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.sodiumchloride", 1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustBischofite")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.magnesium", 6)}),null,200));
+ ElectrolysisBathTileEntity.addRecipe(new UniversalRecipeInput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.sodiumchloride", 1000)}), Arrays.asList(new ItemStack[] {IHLUtils.getOreDictItemStack("dustLithiumChloride")})), new UniversalRecipeOutput(Arrays.asList(new FluidStack[] {IHLUtils.getFluidStackWithSize("molten.lithium", 72)}),null,200));
+ // 1 mb of molten metal per 1 m of cable with transverse section equals to 1.5 sq. mm.
+ fluidDictionary.registerFluidStack("water", IHLUtils.getFluidStackWithSize("water", 1000));
+ fluidDictionary.registerFluidStack("water", IHLUtils.getFluidStackWithSize("ic2distilledwater", 1000));
+ fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("seedoil", 1000));
+ fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("oleicacid", 1000));
+ fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("mineraloil", 1000));
+ if(FluidRegistry.isFluidRegistered("lubricant"))fluidDictionary.registerFluidStack("lubricant", IHLUtils.getFluidStackWithSize("lubricant", 1000));
+ WireMillTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("molten.glass", 1), new RecipeInputItemStack(IHLUtils.getThisModItemStack("fiberGlassDieSteel"), 0), IHLUtils.getThisModWireItemStackWithLength("fiberGlass", 64));
+ WireMillTileEntity.addRecipe("dustGlass",IHLUtils.getFluidStackWithSize("molten.glass", 144));
+ for(ElectricConductor ec:ElectricConductor.values())
+ {
+ String fluidName = "molten."+ec.toString().toLowerCase();
+ if(FluidRegistry.isFluidRegistered(fluidName))
+ {
+ WireMillTileEntity.addRecipe(IHLUtils.getFluidStackWithSize(fluidName, 1), new RecipeInputDie("setOfDies1_5sqmm",15), IHLUtils.getUninsulatedWire(ec.toString(), 1, 15));
+ log.debug("added recipe for "+fluidName);
+ if(ec.meltingPoint<500)
+ {
+ WireMillTileEntity.addRecipe("ingot"+ec.toString(),IHLUtils.getFluidStackWithSize(fluidName, 144));
+ }
+ }
+ }
+ VulcanizationExtrudingMoldTileEntity.addRecipe(IHLUtils.getFluidStackWithSize("molten.rubber", 32), IHLUtils.getThisModWireItemStackWithLength("copperWire", 1), IHLUtils.getInsulatedWire("Copper", 1, 15, "Rubber", 100));
+ IHLMod.config.loadRecipeModificators();
+ }
+ if (Loader.isModLoaded("NotEnoughItems"))
+ {
+ NEIModContainer.plugins.add(new NEIIHLConfig());
+ }
+ IHLMod.config.CheckLists();
+ IHLMod.proxy.initBlockRenderer();
+ IHLMod.log.info("IHL loaded.");
+ }
+
+ private void registerEntities()
+ {
+ EntityRegistry.registerModEntity(CollectorEntity.class, "CollectorEntity", 0, this, 80, 3, true);
+ EntityRegistry.registerModEntity(CollectorHeavyEntity.class, "CollectorHeavyEntity", 1, this, 80, 3, true);
+ EntityRegistry.registerModEntity(PowerCableNodeEntity.class, "PowerCableNodeEntity", 2, this, 80, 3, true);
+ EntityRegistry.registerModEntity(NodeEntity.class, "NodeEntity", 3, this, 80, 3, true);
+ EntityRegistry.registerGlobalEntityID(LostHeadEntity.class, "LostHead", EntityRegistry.findGlobalUniqueEntityId(), 0x0033FF, 0x00CCFF);
+ if(IHLMod.config.enableWailers)
+ {
+ BiomeGenBase[] biomes = BiomeDictionary.getBiomesForType(Type.END);
+ for(int i=0;i<biomes.length;i++)
+ {
+ if(biomes[i].biomeName.equals("Sky"))
+ {
+ EntityRegistry.addSpawn(LostHeadEntity.class, 50, 1, 10, EnumCreatureType.monster, biomes[i]);
+ }
+ }
+ }
+ }
+
+ @Override
+ public int getBurnTime(ItemStack stack)
+ {
+ if(IHLUtils.getFirstOreDictName(stack)=="ingotTarPitch")
+ {
+ return 2000;
+ }
+ if(IHLUtils.getFirstOreDictName(stack)=="dustSodiumZeoliteCoked")
+ {
+ return 500;
+ }
+ else if(IHLUtils.getFirstOreDictName(stack)=="nuggetTarPitch")
+ {
+ return 222;
+ }
+ else if(IHLUtils.getFirstOreDictName(stack)=="dustSulfur")
+ {
+ return 160;
+ }
+ return 0;
+ }
+
+ private void loadGT5Recipes()
+ {/*
+ ItemStack odi = ItemList.Circuit_Basic.get(1L, new Object[] {null});
+ ItemStack crystal = ItemList.Circuit_Primitive.get(1L, new Object[] {null});
+ ItemStack advBattery = ItemList.Hull_MV.get(1L, new Object[] {null});
+ ItemStack chargedReBattery = ItemList.Hull_LV.get(1L, new Object[] {null});
+ ItemStack gypsumOreList = GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 1L);
+ ItemStack oreListIterator = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Gold, 1L);
+ ItemStack sc = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Silver, 1L);
+ ItemStack ec = GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Electrum, 1L);
+ ItemStack lp = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lazurite, 1L);
+ ItemStack sp = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L);
+ ItemStack sr = GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Steel, 1L);
+ ItemStack ip = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L);
+ ItemStack ir = GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Iron, 1L);
+ ItemStack is = GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iron, 1L);
+ ItemStack cs = GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Copper, 1L);
+ ItemStack cr = GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Copper, 1L);
+ ItemStack pp = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Plastic, 1L);
+ ItemStack copper_plate = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 1L);
+ ItemStack copper_framebox = GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Copper, 1L);
+ ItemStack rotor_lv = ItemList.Rotor_LV.get(1L, new Object[] {null});
+ ItemStack rotor_mv = ItemList.Rotor_MV.get(1L, new Object[] {null});
+ ItemStack motor_lv = ItemList.Electric_Motor_LV.get(1L, new Object[] {null});
+ ItemStack motor_mv = ItemList.Electric_Motor_MV.get(1L, new Object[] {null});
+ ItemStack piston_lv = ItemList.Electric_Piston_LV.get(1L, new Object[] {null});
+ ItemStack roboarm_lv = ItemList.Robot_Arm_LV.get(1L, new Object[] {null});
+ ItemStack sensor_lv = ItemList.Sensor_LV.get(1L, new Object[] {null});
+ ItemStack sensor_mv = ItemList.Sensor_MV.get(1L, new Object[] {null});
+ ItemStack battery_lv_c = ItemList.Battery_RE_LV_Cadmium.get(1L, new Object[] {null});
+ ItemStack battery_lv_l = ItemList.Battery_RE_LV_Lithium.get(1L, new Object[] {null});
+ ItemStack battery_lv_s = ItemList.Battery_RE_LV_Sodium.get(1L, new Object[] {null});
+ ItemStack battery_mv_c = ItemList.Battery_RE_MV_Cadmium.get(1L, new Object[] {null});
+ ItemStack battery_mv_l = ItemList.Battery_RE_MV_Lithium.get(1L, new Object[] {null});
+ ItemStack battery_mv_s = ItemList.Battery_RE_MV_Sodium.get(1L, new Object[] {null});
+ ItemStack energy_crystal = gregtech.api.util.GT_ModHandler.getIC2Item("energyCrystal", 1L, 32767);
+ ItemStack pump = ItemList.Electric_Pump_MV.get(1L, new Object[] {null});
+ ItemStack pump_hv = ItemList.Electric_Pump_HV.get(1L, new Object[] {null});
+ int[] gypsumOreList1;
+ int[] oreListIterator1;
+
+ if (config.enableRubberTreeSack)
+ {
+ gypsumOreList1 = new int[] {10000, 2000, 2000, 1000, 100, 0};
+ oreListIterator1 = new int[] {10000, 10000, 10000, 5000, 500, 10000};
+ GregTech_API.sRecipeAdder.addCentrifugeRecipe((ItemStack)null, (ItemStack)null, new FluidStack(FluidRegistry.getFluid("fluidrubbertreesap"), 200), new FluidStack(FluidRegistry.WATER, 120), ItemList.IC2_Resin.get(1L, new Object[] {null}), IHLUtils.getOreDictItemStack("dustRawRubber"), new ItemStack(Items.sugar, 1), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L), (ItemStack)null, (ItemStack)null, gypsumOreList1, 500, 5);
+ GregTech_API.sRecipeAdder.addCentrifugeRecipe(IHLFluid.getCell("fluidrubbertreesap"), (ItemStack)null, new FluidStack(FluidRegistry.getFluid("fluidrubbertreesap"), 200), new FluidStack(FluidRegistry.WATER, 600), ItemList.IC2_Resin.get(5L, new Object[] {null}), IHLUtils.getOreDictItemStack("dustRawRubber"), new ItemStack(Items.sugar, 1), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 1L), ItemList.Cell_Empty.get(1L, new Object[] {null}), (ItemStack)null, oreListIterator1, 2500, 5);
+ }
+
+ if (config.enableHandpump)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((IHLHandPump)ic2_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.Steel), 'P', pump, 'B', battery_mv_c});
+ gregtech.api.util. GT_ModHandler.addCraftingRecipe(((IHLHandPump)ic2_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.Steel), 'P', pump, 'B', battery_mv_l});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((IHLHandPump)ic2_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.Steel), 'P', pump, 'B', battery_mv_s});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((AdvancedHandPump)ic2_advanced_handpump).getItemStack(0), new Object[] {"T ", " P ", " B", 'T', OrePrefixes.pipeSmall.get(Materials.TungstenSteel), 'P', pump_hv, 'B', energy_crystal});
+ }
+
+ if (config.enableTunnelingShield)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"), gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, new Object[] {"RfR", "BwB", "PPP", 'R', OrePrefixes.stick.get(Materials.Steel), 'B', OrePrefixes.bolt.get(Materials.Steel), 'P', OrePrefixes.plate.get(Materials.Steel)});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(driverBlock, 1), new Object[] {" ", " H ", " M ", 'H', advBattery, 'M', motor_mv});
+ }
+
+ if (config.enableCollectors)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorHeavyItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R', OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_c});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorHeavyItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R', OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_l});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorHeavyItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_mv, 'S', sensor_mv, 'R', OrePrefixes.stick.get(Materials.Aluminium), 'M', motor_mv, 'B', battery_mv_s});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R', OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_c});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R', OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_l});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(((CollectorItem)collectorItem).getItemStack(0), new Object[] {"PSP", "RMR", "PBP", 'P', rotor_lv, 'S', sensor_lv, 'R', OrePrefixes.stick.get(Materials.Steel), 'M', motor_lv, 'B', battery_lv_s});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {"PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', oreListIterator, 'L', advBattery});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {"PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', sc, 'L', advBattery});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(chargerEjectorBlock, 1), new Object[] {"PGP", "GCG", "GLG", 'P', lp, 'G', new ItemStack(Blocks.glass, 1), 'C', ec, 'L', advBattery});
+ }
+
+ if (config.enableFan)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(new ItemStack(blowerBlock, 1), new Object[] {"PIP", "RHR", "IMI", 'P', sp, 'I', new ItemStack(Blocks.iron_bars, 1), 'R', rotor_mv, 'H', advBattery, 'M', motor_mv});
+ }
+
+ if (config.enableFlexibleCablesCrafting)
+ {
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("ironWorkbench"), new Object[] {"PPS", "RRh", "RRd", 'P', OrePrefixes.plate.get(Materials.Iron), 'S', OrePrefixes.screw.get(Materials.Iron), 'R', OrePrefixes.stick.get(Materials.Iron)});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"), new Object[] {" ", "fPs", " ", 'P', OrePrefixes.plate.get(Materials.Steel)});
+ gregtech.api.util.GT_ModHandler.addCraftingRecipe(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240), new Object[] {" f ", " P ", " s ", 'P', OrePrefixes.plate.get(Materials.Steel)});
+ }
+ if (pfaalimestone != null)
+ {
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(pfaalimestone, new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite", 4)}, new int[] {10000}, 600, 30);
+ }
+
+ if (pfaacobblelimestone != null)
+ {
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(pfaacobblelimestone, new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite", 4)}, new int[] {10000}, 600, 30);
+ }
+ List gypsumOreList3 = IHLUtils.getEntryListForOre("oreGypsum");
+ Iterator oreListIterator3 = gypsumOreList3.iterator();
+ while (oreListIterator3.hasNext())
+ {
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(((ItemStack)oreListIterator3.next()), new ItemStack[] {IHLUtils.getOreDictItemStack("dustGypsum")}, new int[] {10000}, 600, 30);
+ }
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStack("orePotassiumFeldspar"), new ItemStack[] {IHLUtils.getOreDictItemStack("dustPotassiumFeldspar")}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStack("oreLimestone"), new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite", 4)}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStack("oreSaltpeter"), new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustSaltpeter", 4)}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(IHLUtils.getThisModItemStackWithSize("stickGraphite", 2), new ItemStack[] {IHLUtils.getOreDictItemStack("dustGraphite")}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addPulveriserRecipe(new ItemStack(Items.brick), new ItemStack[] {IHLUtils.getOreDictItemStack("dustBrick")}, new int[] {10000}, 600, 30);
+ GregTech_API.sRecipeAdder.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L), new FluidStack(FluidRegistry.WATER, 1500), FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), 950);
+ GregTech_API.sRecipeAdder.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 2L), FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000), (FluidStack)null, GT_OreDictUnificator.get(OrePrefixes.cell, "LiquidGlass", 2L), 950);
+ gregtech.api.util.GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), new Object[] {GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L), IHLUtils.getOreDictItemStack("nuggetTarPitch")});
+ gregtech.api.util.GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStackWithSize("dustIrongraphite", 2), new Object[] {GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L)});
+ gregtech.api.util.GT_ModHandler.addSmeltingRecipe(IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Coal, 1L));
+ gregtech.api.util.GT_ModHandler.addSmeltingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, 1L));
+ GregTech_API.sRecipeAdder.addFormingPressRecipe(IHLUtils.getThisModItemStack("dustIrongraphite"), ItemList.Shape_Mold_Cylinder.get(0L, new Object[0]), IHLUtils.getThisModItemStackWithSize("linerIronGraphite", 4), 950, 30);
+ GregTech_API.sRecipeAdder.addFormingPressRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), ItemList.Shape_Extruder_Rod.get(0L, new Object[0]), IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), 950, 30);
+ GregTech_API.sRecipeAdder.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0, 0, new Object[] {null}), IHLUtils.getFluidStackWithSize("spruceresin", 1000), IHLUtils.getFluidStackWithSize("turpentine", 50), 3000, 30, false);
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*5));
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("dustRawRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",80));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",16), IHLUtils.getThisModItemStackWithSize("fabric",8), IHLUtils.getOreDictItemStack("dustGraphite"), IHLUtils.getThisModWireItemStackWithLength("pipeRubberWithSulfur",16));
+ }
+ */
+ private void loadGT6Recipes()
+ {
+ ItemStack ac = IL.Circuit_Basic.get(1,(Object) null);
+ ItemStack cp = IL.Circuit_Primitive.get(1,(Object) null);
+ ItemStack hull_mv = Ic2Items.advancedMachine;
+ ItemStack hull_lv = Ic2Items.advancedMachine;
+ ItemStack tc = OreDictManager.INSTANCE.getStack(OP.cableGt01,MT.Tin, 1);
+ ItemStack gc = OreDictManager.INSTANCE.getStack(OP.cableGt08,MT.Gold, 1);
+ ItemStack sc = OreDictManager.INSTANCE.getStack(OP.cableGt08,MT.Silver, 1);
+ ItemStack ec = OreDictManager.INSTANCE.getStack(OP.cableGt08,MT.Electrum, 1);
+ ItemStack lp = OreDictManager.INSTANCE.getStack(OP.plate,MT.Lazurite, 1);
+ ItemStack sp = OreDictManager.INSTANCE.getStack(OP.plate,MT.Steel, 1);
+ ItemStack sr = OreDictManager.INSTANCE.getStack(OP.rod,MT.Steel, 1);
+ ItemStack ip = GT_ModHandler.getIC2Item("plateiron", 1L);
+ ItemStack ir = OreDictManager.INSTANCE.getStack(OP.rod,MT.Iron, 1);
+ ItemStack is = OreDictManager.INSTANCE.getStack(OP.screw,MT.Iron, 1);
+ ItemStack cs = OreDictManager.INSTANCE.getStack(OP.screw,MT.Copper, 1);
+ ItemStack cr = OreDictManager.INSTANCE.getStack(OP.rod,MT.Copper, 1);
+ ItemStack pp = OreDictManager.INSTANCE.getStack(OP.ingot,MT.Plastic, 1);
+ ItemStack copper_plate = OreDictManager.INSTANCE.getStack(OP.plate,MT.Copper, 1);
+ ItemStack copper_framebox = OreDictManager.INSTANCE.getStack(OP.frameGt,MT.Copper, 1);
+ ItemStack rotor_lv = OreDictManager.INSTANCE.getStack(OP.rotor,MT.Iron, 1);
+ ItemStack rotor_mv = OreDictManager.INSTANCE.getStack(OP.rotor,MT.Aluminium, 1);
+ ItemStack motor_lv = IL.Electric_Motor_LV.get(1,(Object) null);
+ ItemStack motor_mv = IL.Electric_Motor_MV.get(1,(Object) null);
+ ItemStack piston_lv = IL.Electric_Piston_LV.get(1,(Object) null);
+ ItemStack roboarm_lv = IL.Robot_Arm_LV.get(1,(Object) null);
+ ItemStack sensor_lv = IL.Sensor_LV.get(1,(Object) null);
+ ItemStack sensor_mv = IL.Sensor_MV.get(1,(Object) null);
+ ItemStack battery_lv_c = IL.Battery_RE_LV_Cadmium.get(1,(Object) null);
+ ItemStack battery_lv_l = IL.Battery_RE_LV_Lithium.get(1,(Object) null);
+ ItemStack battery_lv_s = IL.Battery_RE_LV_Sodium.get(1,(Object) null);
+ ItemStack battery_mv_c = IL.Battery_RE_MV_Cadmium.get(1,(Object) null);
+ ItemStack battery_mv_l = IL.Battery_RE_MV_Lithium.get(1,(Object) null);
+ ItemStack battery_mv_s = IL.Battery_RE_MV_Sodium.get(1,(Object) null);
+ ItemStack energy_crystal = GT_ModHandler.getIC2Item("energyCrystal", 1L, 32767);
+ ItemStack pump = IL.Electric_Pump_MV.get(1,(Object) null);
+ ItemStack pump_hv = IL.Electric_Pump_HV.get(1,(Object) null);
+
+ List<IRecipeInput> dsmInputs1 = new ArrayList();
+ ItemStack gregtechfile = GT_ModHandler.getModItem("gregtech", "gt.metatool.01", 1, 18);
+ dsmInputs1.add(new RecipeInputItemStack(gregtechfile));
+ dsmInputs1.add(new RecipeInputOreDict("dustDiamond"));
+ dsmInputs1.add(new RecipeInputOreDict("dustGunpowder"));
+ DetonationSprayingMachineTileEntity.addRecipe((new UniversalRecipeInput(null,dsmInputs1)), new UniversalRecipeOutput(null, Arrays.asList(new ItemStack[] {gregtechfile.copy()}),2));
+
+ if(IHLMod.config.enableRubberTreeSack)
+ {
+ long[] chances={10000,2000,2000,1000,100,0};
+ long[] chances2={10000,10000,10000,5000,500,10000};
+ Recipe.RecipeMap.sCoagulatorRecipes.addRecipe(
+ true,
+ new ItemStack[] {},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.nugget,MT.Rubber, 1)},
+ null,
+ chances,
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("fluidrubbertreesap"),22)},
+ new FluidStack [] {},
+ 16, 5, 0);
+ }
+
+ if(IHLMod.config.enableHandpump)
+ {
+ GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel), Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_c});
+ GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel), Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_l});
+ GT_ModHandler.addCraftingRecipe(((IHLHandPump) ic2_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.Steel), Character.valueOf('P'), pump, Character.valueOf('B'), battery_mv_s});
+ GT_ModHandler.addCraftingRecipe(((AdvancedHandPump) ic2_advanced_handpump).getItemStack(0), new Object[] { "T ", " P ", " B", Character.valueOf('T'), OP.pipeSmall.get(MT.TungstenSteel), Character.valueOf('P'), pump_hv, Character.valueOf('B'), energy_crystal});
+ }
+ if(IHLMod.config.enableTunnelingShield)
+ {
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"), GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "RfR", "BwB", "PPP", Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('B'), OP.bolt.get(MT.Steel), Character.valueOf('P'), OP.plate.get(MT.Steel)});
+ GT_ModHandler.addCraftingRecipe(new ItemStack(driverBlock,1), new Object[] { " ", " H ", " M ", Character.valueOf('H'), IC2Items.getItem("machine"), Character.valueOf('M'), IC2Items.getItem("elemotor")});
+ }
+ if(IHLMod.config.enableCollectors)
+ {
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'), sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'), motor_mv, Character.valueOf('B'), battery_mv_c});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'), sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'), motor_mv, Character.valueOf('B'), battery_mv_l});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorHeavyItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_mv, Character.valueOf('S'), sensor_mv, Character.valueOf('R'), OP.stick.get(MT.Aluminium), Character.valueOf('M'), motor_mv, Character.valueOf('B'), battery_mv_s});
+
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'), sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv, Character.valueOf('B'), battery_lv_c});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'), sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv, Character.valueOf('B'), battery_lv_l});
+ GT_ModHandler.addCraftingRecipe(((CollectorItem) collectorItem).getItemStack(0), new Object[] { "PSP", "RMR", "PBP", Character.valueOf('P'), rotor_lv, Character.valueOf('S'), sensor_lv, Character.valueOf('R'), OP.stick.get(MT.Steel), Character.valueOf('M'), motor_lv, Character.valueOf('B'), battery_lv_s});
+
+ GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), gc, Character.valueOf('L'), hull_mv});
+ GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), sc, Character.valueOf('L'), hull_mv});
+ GT_ModHandler.addCraftingRecipe(new ItemStack(IHLMod.chargerEjectorBlock,1), new Object[] { "PGP", "GCG", "GLG", Character.valueOf('P'), lp, Character.valueOf('G'), new ItemStack(Blocks.glass,1), Character.valueOf('C'), ec, Character.valueOf('L'), hull_mv});
+ }
+ if(IHLMod.config.enableFan)
+ {
+ GT_ModHandler.addCraftingRecipe(new ItemStack(blowerBlock,1), new Object[] { "PIP", "RHR", "IMI", Character.valueOf('P'), sp, Character.valueOf('I'), new ItemStack(Blocks.iron_bars,1), Character.valueOf('R'), rotor_mv, Character.valueOf('H'), hull_mv, Character.valueOf('M'), motor_mv});
+ }
+ if(IHLMod.config.enableFlexibleCablesCrafting)
+ {
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("ironWorkbench"), new Object[] { "PPS", "RRh", "RRd", Character.valueOf('P'), OP.plate.get(MT.Iron), Character.valueOf('S'), OP.screw.get(MT.Iron), Character.valueOf('R'), OP.stick.get(MT.Iron)});
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"), new Object[] { " ", "fPs", " ", Character.valueOf('P'), OP.plate.get(MT.Steel)});
+ GT_ModHandler.addCraftingRecipe(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240), new Object[] { " f ", " P ", " s ", Character.valueOf('P'), OP.plate.get(MT.Steel)});
+ }
+ if(IHLMod.config.enablePentlanditeProcessing)
+ {
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.NitrogenDioxide, 4),OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 5)},
+ null,
+ new long[] {10000},
+ new FluidStack[] {new FluidStack(FluidRegistry.WATER, 2000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("nitricacid", 4000)},
+ 950, 30, 0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.crushedPurified,MT.Pentlandite, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("dustTinyPlatinumGroupSludge", 1L)},
+ null,
+ new long[] {10000},
+ new FluidStack[] {FluidRegistry.getFluidStack("nitricacid", 8000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.nickelsulfate", 9000)},
+ 50, 30, 0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.crushedPurified,MT.Chalcopyrite, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("dustTinyPlatinumGroupSludge", 1L)},
+ null,
+ new long[] {10000},
+ new FluidStack[] {FluidRegistry.getFluidStack("nitricacid", 8000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.bluevitriol", 9000)},
+ 50, 30, 0);
+ long[] chances={10000,10000,10000,8000,6000,6000};
+ chances[0]=IHLMod.config.chanceToGetSiliconDioxideFromSludge;
+ chances[1]=IHLMod.config.chanceToGetGoldFromSludge;
+ chances[2]=IHLMod.config.chanceToGetPlatinumFromSludge;
+ chances[3]=IHLMod.config.chanceToGetPalladiumFromSludge;
+ chances[4]=IHLMod.config.chanceToGetIridiumFromSludge;
+ chances[5]=IHLMod.config.chanceToGetOsmiumFromSludge;
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("dustPlatinumGroupSludge", 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.SiliconDioxide, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Gold, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Platinum, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Palladium, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Iridium, 1),
+ OreDictManager.INSTANCE.getStack(OP.dustTiny,MT.Osmium, 1)},
+ null,
+ chances,
+ new FluidStack[] {},
+ new FluidStack[] {},
+ 600, 30, 0);
+ long[] chances2={10000,10000,0,0,0,0};
+ Recipe.RecipeMap.sElectrolyzerRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Nickel, 1),
+ OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ null,
+ chances2,
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.nickelsulfate", 9000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("sulfuricacid", 8000)},
+ 600,
+ 30, 0);
+ Recipe.RecipeMap.sElectrolyzerRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Copper, 1),
+ OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ null,
+ chances2,
+ new FluidStack[] {FluidRegistry.getFluidStack("solution.bluevitriol", 9000)},
+ new FluidStack[] {FluidRegistry.getFluidStack("sulfuricacid", 8000)},
+ 600,
+ 30, 0);
+ long[] chances3={10000,0,0,0,0,0};
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1)},
+ null,
+ chances3,
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("air"), 5000)},
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("nitrogen"), 3900)},
+ 10, 10, 0);
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Air, 5)},
+ new ItemStack [] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Oxygen, 1), OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 4)},
+ null,
+ chances3,
+ new FluidStack [] {},
+ new FluidStack [] {new FluidStack(FluidRegistry.getFluid("nitrogen"), 3900)},
+ 10, 10, 0);
+ }
+ if(pfaalimestone!=null)
+ {
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {pfaalimestone},
+ new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite",4)},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+ if(pfaacobblelimestone!=null)
+ {
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {pfaacobblelimestone},
+ new ItemStack[] {IHLUtils.getOreDictItemStackWithSize("dustCalcite",4)},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+ List<ItemStack> gypsumOreList = IHLUtils.getEntryListForOre("oreGypsum");
+ Iterator<ItemStack> oreListIterator = gypsumOreList.iterator();
+ while(oreListIterator.hasNext())
+ {
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {oreListIterator.next().copy()},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustGypsum")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("orePotassiumFeldspar")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustPotassiumFeldspar")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("oreLimestone")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustCalcite")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("oreSaltpeter")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustSaltpeter")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {new ItemStack(Items.brick)},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustBrick")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getOreDictItemStack("stickGraphite")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("dustSmallGraphite")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Sodium, 1),
+ OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 1)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.cell,MT.Hydrogen, 1)},
+ null,
+ new long[]{10000},
+ new FluidStack[]{new FluidStack(FluidRegistry.WATER, 1500)},
+ new FluidStack[]{FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000)},
+ 950,30,0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.SiliconDioxide, 1),OreDictManager.INSTANCE.getStack(OP.cell,MT.Empty, 2)},
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("cellLiquidGlass", 2)},
+ null,
+ new long[]{10000},
+ new FluidStack[]{FluidRegistry.getFluidStack("solution.natriumhydroxide", 1000)},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sChemicalRecipes.addRecipe(
+ true,
+ new ItemStack[] {OreDictManager.INSTANCE.getStack("cellSpruceResin", 1)},
+ new ItemStack[] {},
+ null,
+ new long[]{10000},
+ new FluidStack[]{FluidRegistry.getFluidStack("glyceryl", 50)},
+ new FluidStack[]{FluidRegistry.getFluidStack("cablingcolophony", 600)},
+ 950,30,0);
+ GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), new Object[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Coal,1), IHLUtils.getOreDictItemStack("nuggetTarPitch")});
+ GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStackWithSize("dustIrongraphite",2), new Object[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Iron,1), OreDictManager.INSTANCE.getStack(OP.dust,MT.Graphite,1)});
+ GT_ModHandler.addShapelessCraftingRecipe(IHLUtils.getThisModItemStackWithSize("dustPorcelain",4), new Object[] {OreDictManager.INSTANCE.getStack(OP.dust,MT.Clay,1),OreDictManager.INSTANCE.getStack(OP.dust,MT.Clay,1), OreDictManager.INSTANCE.getStack(OP.dust,MT.SiliconDioxide,1), OreDictManager.INSTANCE.getStack(OP.dust,MT.PotassiumFeldspar,1)});
+ GT_ModHandler.addSmeltingRecipe(IHLUtils.getThisModItemStack("stickCoalElectrodePremix"), OreDictManager.INSTANCE.getStack(OP.stick,MT.Coal, 1));
+ GT_ModHandler.addSmeltingRecipe(OreDictManager.INSTANCE.getStack(OP.dust,MT.Calcite, 1), OreDictManager.INSTANCE.getStack("dustQuicklime", 1));
+ Recipe.RecipeMap.sPressRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("dustIrongraphite"), IL.Shape_Mold_Cylinder.get(0)},
+ new ItemStack[] {IHLUtils.getThisModItemStackWithSize("linerIronGraphite",4)},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sPressRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("dustCoalElectrodePremix"), IL.Shape_Extruder_Rod.get(0)},
+ new ItemStack[] {IHLUtils.getThisModItemStack("stickCoalElectrodePremix")},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sPressRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStack("foilRubberWithSulfur"), IL.Shape_Extruder_Casing.get(0)},
+ new ItemStack[] {IHLUtils.getThisModItemStack("batteryCellsEbonite")},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sCompressorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getThisModItemStackWithSize("foilMica",4)},
+ new ItemStack[] {IHLUtils.getThisModItemStack("plateMica")},
+ null,
+ new long[]{10000},
+ new FluidStack[]{},
+ new FluidStack[]{},
+ 950,30,0);
+ Recipe.RecipeMap.sMaceratorRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getOreDictItemStack("oreGyubnera")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("crushedGyubnera")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ Recipe.RecipeMap.sCentrifugeRecipes.addRecipe(
+ true,
+ new ItemStack[] {IHLUtils.getOreDictItemStack("crushedGyubnera")},
+ new ItemStack[] {IHLUtils.getOreDictItemStack("crushedPurifiedGyubnera"),IHLUtils.getOreDictItemStack("dustPotassiumFeldspar")},
+ null,
+ new long[]{10000},
+ new FluidStack [] {},
+ new FluidStack [] {},
+ 600, 30, 0);
+ }
+
+ private void loadIC2Recipes()
+ {
+ ItemStack crystal = IC2Items.getItem("lapotronCrystal").copy();
+ ItemStack advBattery = IC2Items.getItem("advBattery").copy();
+ ItemStack chargedReBattery = IC2Items.getItem("chargedReBattery").copy();
+ crystal.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ advBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ chargedReBattery.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ if(IHLMod.config.enableTunnelingShield)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(driverBlock,1), new Object[] { " ", " E ", " M ", Character.valueOf('E'), IC2Items.getItem("elemotor"), Character.valueOf('M'), IC2Items.getItem("machine")});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("IHLShieldAssemblyUnitBlock"), new Object[] { "OOO", "PPP", " ", Character.valueOf('O'), IC2Items.getItem("obsidianDust"), Character.valueOf('P'), IC2Items.getItem("plateiron")});
+ }
+ if(IHLMod.config.enableFan)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(blowerBlock,1), new Object[] { "PBP", "IEI", "PMP", Character.valueOf('P'), IC2Items.getItem("plateiron"), Character.valueOf('B'), new ItemStack(Blocks.iron_bars,1), Character.valueOf('I'), new ItemStack(Items.iron_ingot,1), Character.valueOf('E'), IC2Items.getItem("elemotor"), Character.valueOf('M'), IC2Items.getItem("machine")});
+ }
+ if(IHLMod.config.enableRubberTreeSack)
+ {
+ Recipes.advRecipes.addRecipe(new ItemStack(electricEvaporatorBlock,1), new Object[] { "CCC", "CCC", " F ", Character.valueOf('C'), IC2Items.getItem("platecopper"), Character.valueOf('F'), IC2Items.getItem("electroFurnace")});
+ }
+ if(IHLMod.config.enableFlexibleCablesCrafting)
+ {
+ ItemStack cutter = Ic2Items.cutter.copy();
+ cutter.setItemDamage(OreDictionary.WILDCARD_VALUE);
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("setOfDies1_5sqmm"), new Object[] { " ", " PC", " ", Character.valueOf('P'), Ic2Items.plateadviron, Character.valueOf('C'), cutter});
+ Recipes.advRecipes.addRecipe(IHLUtils.getItemStackWithTag("setOfDies1_5sqmm","transverseSection",240), new Object[] { " C ", " P ", " ", Character.valueOf('P'), Ic2Items.plateadviron, Character.valueOf('C'), cutter});
+ Recipes.advRecipes.addRecipe(IHLUtils.getThisModItemStack("ironWorkbench"), new Object[] { "P ", "P ", "P H", Character.valueOf('P'), Ic2Items.plateadviron, Character.valueOf('H'), Ic2Items.ForgeHammer});
+ }
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*5));
+ ExtruderTileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getFluidStackWithSize("molten.rubber", 144*20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 5), IHLUtils.getOreDictItemStackWithSize("dustTinySulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",20));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getOreDictItemStackWithSize("itemRubber", 20), IHLUtils.getOreDictItemStackWithSize("dustSulfur", 1), IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",80));
+ WoodenRollingMachinePart1TileEntity.addRecipe(IHLUtils.getThisModItemStackWithSize("foilRubberWithSulfur",16), IHLUtils.getThisModItemStackWithSize("fabric",8), IHLUtils.getOreDictItemStack("dustGraphite"), IHLUtils.getThisModWireItemStackWithLength("pipeRubberWithSulfur",16));
+ }
+}
+----------------------------------- SOURCE END -------------------------------------
+!STACK 0
+java.lang.IllegalArgumentException
+ at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2648)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:575)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 2 2016-03-15 22:46:54.293
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ui".
+!STACK 0
+java.lang.IllegalArgumentException
+ at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2648)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:575)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+
+!ENTRY org.eclipse.jdt.ui 4 0 2016-03-15 22:46:54.294
+!MESSAGE Error in JDT Core during reconcile
+!STACK 0
+java.lang.IllegalArgumentException
+ at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2648)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:575)
+ at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations(ASTConverter.java:186)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2679)
+ at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1222)
+ at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:246)
+ at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:203)
+ at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
+ at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:521)
+ at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1082)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
+ at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
+ at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
+ at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
+ at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
+ at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
+ at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)
+ at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
+ at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
+!SESSION 2016-04-02 08:35:16.706 -----------------------------------------------
+eclipse.buildId=debbuild
+java.version=1.7.0_80
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Command-line arguments: -os linux -ws gtk -arch x86_64
+
+!ENTRY org.eclipse.equinox.event 2 0 2016-04-02 08:35:18.033
+!MESSAGE [SCR] Found components with duplicated names! Details:
+Component1 : Component[
+ name = org.eclipse.equinox.event
+ activate = activate
+ deactivate = deactivate
+ modified =
+ configuration-policy = optional
+ factory = null
+ autoenable = true
+ immediate = false
+ implementation = org.eclipse.equinox.internal.event.EventComponent
+ state = Unsatisfied
+ properties =
+ serviceFactory = false
+ serviceInterface = [org.osgi.service.event.EventAdmin]
+ references = null
+ located in bundle = org.eclipse.equinox.event_1.3.100.v20140115-1647 [353]
+]
+Component2: Component[
+ name = org.eclipse.equinox.event
+ activate = activate
+ deactivate = deactivate
+ modified =
+ configuration-policy = optional
+ factory = null
+ autoenable = true
+ immediate = false
+ implementation = org.eclipse.equinox.internal.event.EventComponent
+ state = Unsatisfied
+ properties =
+ serviceFactory = false
+ serviceInterface = [org.osgi.service.event.EventAdmin]
+ references = null
+ located in bundle = org.eclipse.equinox.event_1.2.200.dist [62]
+]
+
+!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2016-04-02 08:35:18.203
+!MESSAGE [SCR] Found components with duplicated names! Details:
+Component1 : Component[
+ name = org.eclipse.equinox.p2.transport.ecf
+ activate = activate
+ deactivate = deactivate
+ modified =
+ configuration-policy = optional
+ factory = null
+ autoenable = true
+ immediate = false
+ implementation = org.eclipse.equinox.internal.p2.transport.ecf.ECFTransportComponent
+ state = Unsatisfied
+ properties = {p2.agent.servicename=org.eclipse.equinox.internal.p2.repository.Transport}
+ serviceFactory = false
+ serviceInterface = [org.eclipse.equinox.p2.core.spi.IAgentServiceFactory]
+ references = null
+ located in bundle = org.eclipse.equinox.p2.transport.ecf_1.1.100.v20150521-1342 [359]
+]
+Component2: Component[
+ name = org.eclipse.equinox.p2.transport.ecf
+ activate = activate
+ deactivate = deactivate
+ modified =
+ configuration-policy = optional
+ factory = null
+ autoenable = true
+ immediate = false
+ implementation = org.eclipse.equinox.internal.p2.transport.ecf.ECFTransportComponent
+ state = Unsatisfied
+ properties = {p2.agent.servicename=org.eclipse.equinox.internal.p2.repository.Transport}
+ serviceFactory = false
+ serviceInterface = [org.eclipse.equinox.p2.core.spi.IAgentServiceFactory]
+ references = null
+ located in bundle = org.eclipse.equinox.p2.transport.ecf_1.0.100.dist [94]
+]
+
+!ENTRY org.eclipse.mylyn.tasks.core 1 0 2016-04-02 08:35:58.631
+!MESSAGE Migrating task repository credentials from keyring.
+
+!ENTRY org.eclipse.core.jobs 4 2 2016-04-02 08:36:13.648
+!MESSAGE An internal error occurred during: "Initializing Eclipse Error Reporting System".
+!STACK 0
+org.eclipse.e4.core.di.InjectionException: Could not find satisfiable constructor in org.eclipse.epp.internal.logging.aeri.ide.notifications.MylynNotificationsSupport
+ at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:354)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:264)
+ at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
+ at org.eclipse.epp.internal.logging.aeri.ide.IDEStartup.initializeIdeContext(IDEStartup.java:102)
+ at org.eclipse.epp.internal.logging.aeri.ide.IDEStartup.access$0(IDEStartup.java:72)
+ at org.eclipse.epp.internal.logging.aeri.ide.IDEStartup$1.run(IDEStartup.java:61)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
+
+!ENTRY org.eclipse.ui 4 4 2016-04-02 08:36:40.801
+!MESSAGE Unable to create menu item "org.eclipse.egit.ui.team.ReplaceWithPrevious", command "org.eclipse.egit.ui.team.ReplaceWithPrevious" not defined
+
+!ENTRY org.eclipse.ui 4 4 2016-04-02 08:36:40.817
+!MESSAGE Unable to create menu item "org.eclipse.egit.ui.team.CompareWithCommit", command "org.eclipse.egit.ui.team.CompareWithCommit" not defined
+
+!ENTRY org.eclipse.ui 4 4 2016-04-02 08:36:40.819
+!MESSAGE Unable to create menu item "org.eclipse.egit.ui.team.CompareWithRevision", command "org.eclipse.egit.ui.team.CompareWithRevision" not defined
+
+!ENTRY org.eclipse.ui 4 0 2016-04-02 08:38:42.971
+!MESSAGE Unhandled event loop exception
+!STACK 0
+java.lang.ArrayIndexOutOfBoundsException: 1034
+ at org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog.buttonPressed(OptionalMessageDialog.java:116)
+ at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3562)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3186)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
+ at org.eclipse.jface.window.Window.open(Window.java:801)
+ at org.eclipse.jface.dialogs.MessageDialog.open(MessageDialog.java:334)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.informUserAboutEmptyDefaultCategory(ContentAssistProcessor.java:608)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.getDefaultCategories(ContentAssistProcessor.java:509)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.getCategoryIteration(ContentAssistProcessor.java:496)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.setCategoryIteration(ContentAssistProcessor.java:491)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.access$3(ContentAssistProcessor.java:490)
+ at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor$CompletionListener.assistSessionStarted(ContentAssistProcessor.java:116)
+ at org.eclipse.jface.text.contentassist.ContentAssistant.fireSessionBeginEvent(ContentAssistant.java:2221)
+ at org.eclipse.jface.text.contentassist.ContentAssistant.prepareToShowCompletions(ContentAssistant.java:1696)
+ at org.eclipse.jface.text.contentassist.ContentAssistant.access$6(ContentAssistant.java:1687)
+ at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:376)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3537)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3189)
+ at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
+!SESSION 2016-11-05 10:15:29.979 -----------------------------------------------
+eclipse.buildId=debbuild
+java.version=1.8.0_101
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Command-line arguments: -os linux -ws gtk -arch x86_64
+
+!ENTRY org.eclipse.core.resources 4 567 2016-11-05 10:16:03.395
+!MESSAGE Workspace restored, but some problems occurred.
+!SUBENTRY 1 org.eclipse.core.resources 4 567 2016-11-05 10:16:03.395
+!MESSAGE Could not read metadata for '.org.eclipse.jdt.core.external.folders'.
+!STACK 1
+org.eclipse.core.internal.resources.ResourceException: The project description file (.project) for '.org.eclipse.jdt.core.external.folders' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+ at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:851)
+ at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:874)
+ at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:854)
+ at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:703)
+ at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1528)
+ at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2502)
+ at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2251)
+ at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
+ at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
+ at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
+ at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
+ at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
+ at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
+ at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
+!SUBENTRY 2 org.eclipse.core.resources 4 567 2016-11-05 10:16:03.398
+!MESSAGE The project description file (.project) for '.org.eclipse.jdt.core.external.folders' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+!SUBENTRY 1 org.eclipse.core.resources 4 567 2016-11-05 10:16:03.398
+!MESSAGE Could not read metadata for 'Minecraft'.
+!STACK 1
+org.eclipse.core.internal.resources.ResourceException: The project description file (.project) for 'Minecraft' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+ at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:851)
+ at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:874)
+ at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:854)
+ at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:703)
+ at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1528)
+ at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2502)
+ at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2251)
+ at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
+ at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
+ at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
+ at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
+ at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
+ at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
+ at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
+!SUBENTRY 2 org.eclipse.core.resources 4 567 2016-11-05 10:16:03.399
+!MESSAGE The project description file (.project) for 'Minecraft' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+
+!ENTRY org.eclipse.ui 4 0 2016-11-05 10:16:08.632
+!MESSAGE Problems occurred restoring workbench.
+!SUBENTRY 1 unknown 0 0 2016-11-05 10:16:08.632
+!MESSAGE OK
+!SUBENTRY 1 unknown 0 0 2016-11-05 10:16:08.632
+!MESSAGE OK
+!SUBENTRY 1 unknown 0 0 2016-11-05 10:16:08.632
+!MESSAGE OK
+!SUBENTRY 1 unknown 0 0 2016-11-05 10:16:08.632
+!MESSAGE OK
+!SUBENTRY 1 org.eclipse.ui 4 0 2016-11-05 10:16:08.632
+!MESSAGE Unable to restore perspective: Workspace - Resource.
+!SUBENTRY 2 org.eclipse.ui 0 0 2016-11-05 10:16:08.632
+!MESSAGE Problems occurred restoring perspective.
+!SUBENTRY 3 org.eclipse.ui 0 0 2016-11-05 10:16:08.632
+!MESSAGE
+!SUBENTRY 2 unknown 0 0 2016-11-05 10:16:08.632
+!MESSAGE OK
+!SUBENTRY 2 unknown 0 0 2016-11-05 10:16:08.632
+!MESSAGE OK
+!SUBENTRY 2 unknown 0 0 2016-11-05 10:16:08.632
+!MESSAGE OK
+!SUBENTRY 2 org.eclipse.ui 4 4 2016-11-05 10:16:08.633
+!MESSAGE Could not create view: org.eclipse.mylyn.tasks.ui.views.tasks
+!STACK 1
+org.eclipse.ui.PartInitException: Could not create view: org.eclipse.mylyn.tasks.ui.views.tasks
+ at org.eclipse.ui.internal.ViewFactory.createView(ViewFactory.java:158)
+ at org.eclipse.ui.internal.Perspective.createReferences(Perspective.java:1249)
+ at org.eclipse.ui.internal.Perspective.restoreState(Perspective.java:1219)
+ at org.eclipse.ui.internal.WorkbenchPage$17.runWithException(WorkbenchPage.java:3297)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3537)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3189)
+ at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
+ at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1600)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3537)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3189)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2609)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
+!SUBENTRY 3 org.eclipse.ui 4 0 2016-11-05 10:16:08.633
+!MESSAGE Could not create view: org.eclipse.mylyn.tasks.ui.views.tasks
+!SUBENTRY 2 unknown 0 0 2016-11-05 10:16:08.633
+!MESSAGE OK
+!SUBENTRY 2 unknown 0 0 2016-11-05 10:16:08.633
+!MESSAGE OK
+!SUBENTRY 2 unknown 0 0 2016-11-05 10:16:08.633
+!MESSAGE OK
+!SUBENTRY 2 unknown 0 0 2016-11-05 10:16:08.633
+!MESSAGE OK
+!SUBENTRY 2 org.eclipse.ui 4 0 2016-11-05 10:16:08.633
+!MESSAGE Could not find view: org.eclipse.mylyn.tasks.ui.views.tasks
+!SUBENTRY 1 unknown 0 0 2016-11-05 10:16:08.633
+!MESSAGE OK
+!SESSION 2016-11-05 11:52:28.211 -----------------------------------------------
+eclipse.buildId=4.5.0.I20150603-2000
+java.version=1.8.0_101
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.e4.ui.workbench 4 0 2016-11-05 11:53:17.884
+!MESSAGE Error setting focus to : org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl IHLMod.java
+!STACK 0
+org.eclipse.swt.SWTException: Widget is disposed
+ at org.eclipse.swt.SWT.error(SWT.java:4491)
+ at org.eclipse.swt.SWT.error(SWT.java:4406)
+ at org.eclipse.swt.SWT.error(SWT.java:4377)
+ at org.eclipse.swt.widgets.Widget.error(Widget.java:482)
+ at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:419)
+ at org.eclipse.swt.widgets.Control.getVisible(Control.java:2983)
+ at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1457)
+ at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1457)
+ at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor.java:120)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.setFocus(JavaEditor.java:2395)
+ at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:204)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:258)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
+ at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.focusGui(PartRenderingEngine.java:775)
+ at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:102)
+ at org.eclipse.swt.custom.CTabItem.setFocus(CTabItem.java:332)
+ at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2602)
+ at org.eclipse.swt.widgets.Control.fixFocus(Control.java:214)
+ at org.eclipse.swt.widgets.Control.setVisible(Control.java:4921)
+ at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3146)
+ at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3103)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1318)
+ at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:72)
+ at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
+ at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186)
+ at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145)
+ at org.eclipse.swt.widgets.Display.syncExec(Display.java:4633)
+ at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:211)
+ at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
+ at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
+ at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
+ at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+ at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
+ at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
+ at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
+ at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
+ at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:85)
+ at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
+ at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
+ at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
+ at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1279)
+ at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1236)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(StackRenderer.java:1278)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.access$4(StackRenderer.java:1260)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$11.close(StackRenderer.java:1145)
+ at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1921)
+ at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:335)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+
+!ENTRY org.eclipse.e4.ui.workbench 4 0 2016-11-05 11:53:19.715
+!MESSAGE Error setting focus to : org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl IHLModInfo.java
+!STACK 0
+org.eclipse.swt.SWTException: Widget is disposed
+ at org.eclipse.swt.SWT.error(SWT.java:4491)
+ at org.eclipse.swt.SWT.error(SWT.java:4406)
+ at org.eclipse.swt.SWT.error(SWT.java:4377)
+ at org.eclipse.swt.widgets.Widget.error(Widget.java:482)
+ at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:419)
+ at org.eclipse.swt.widgets.Control.getVisible(Control.java:2983)
+ at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1457)
+ at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1457)
+ at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor.java:120)
+ at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.setFocus(JavaEditor.java:2395)
+ at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:204)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:258)
+ at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
+ at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.focusGui(PartRenderingEngine.java:775)
+ at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:102)
+ at org.eclipse.swt.custom.CTabItem.setFocus(CTabItem.java:332)
+ at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2602)
+ at org.eclipse.swt.widgets.Control.fixFocus(Control.java:214)
+ at org.eclipse.swt.widgets.Control.setVisible(Control.java:4921)
+ at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3146)
+ at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3103)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1318)
+ at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:72)
+ at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
+ at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186)
+ at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145)
+ at org.eclipse.swt.widgets.Display.syncExec(Display.java:4633)
+ at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:211)
+ at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
+ at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
+ at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
+ at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+ at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
+ at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
+ at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
+ at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
+ at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:85)
+ at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
+ at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
+ at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
+ at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1283)
+ at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1236)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(StackRenderer.java:1278)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.access$4(StackRenderer.java:1260)
+ at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$11.close(StackRenderer.java:1145)
+ at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1921)
+ at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:335)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+
+!ENTRY org.eclipse.core.resources 4 567 2016-11-05 11:53:24.406
+!MESSAGE The project description file (.project) for 'Minecraft' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+
+!ENTRY org.eclipse.epp.logging.aeri.ui 1 4 2016-11-05 11:53:25.796
+!MESSAGE The error reporting server is not available. Error reporting will be disabled until next restart. Version: 1.0.0.v20150617-0732
+!STACK 0
+org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs$LogTraceException
+ at org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs$LogTraceException.newTrace(Logs.java:382)
+ at org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs.log(Logs.java:134)
+ at org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs.log(Logs.java:126)
+ at org.eclipse.epp.internal.logging.aeri.ui.log.CheckServerAvailabilityJob.run(CheckServerAvailabilityJob.java:53)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
+!SESSION 2016-11-05 11:54:47.443 -----------------------------------------------
+eclipse.buildId=4.5.0.I20150603-2000
+java.version=1.8.0_101
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -data /home/home/foghrye4/Programs/Forge 1.7.10/eclipse -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.epp.logging.aeri.ui 1 4 2016-11-05 11:55:10.147
+!MESSAGE The error reporting server is not available. Error reporting will be disabled until next restart. Version: 1.0.0.v20150617-0732
+!STACK 0
+org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs$LogTraceException
+ at org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs$LogTraceException.newTrace(Logs.java:382)
+ at org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs.log(Logs.java:134)
+ at org.eclipse.epp.internal.logging.aeri.ui.l10n.Logs.log(Logs.java:126)
+ at org.eclipse.epp.internal.logging.aeri.ui.log.CheckServerAvailabilityJob.run(CheckServerAvailabilityJob.java:53)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
+!SESSION 2016-11-29 20:01:54.995 -----------------------------------------------
+eclipse.buildId=4.5.0.I20150603-2000
+java.version=1.8.0_111
+java.vendor=Oracle Corporation
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.wst.validation 4 0 2016-11-29 20:02:29.539
+!MESSAGE IWAE0027E Could not retrieve the validation configuration for resource Minecraft.
+!STACK 0
+java.lang.reflect.InvocationTargetException: IWAE0027E Could not retrieve the validation configuration for resource Minecraft.
+ at org.eclipse.wst.validation.internal.ConfigurationManager.getProjectConfiguration(ConfigurationManager.java:135)
+ at org.eclipse.wst.validation.internal.ValManager.getValidatorsConfiguredForProject(ValManager.java:300)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.createPage(ValidationPropertyPage.java:265)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.<init>(ValidationPropertyPage.java:245)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage.createContents(ValidationPropertyPage.java:783)
+ at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
+ at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1450)
+ at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1217)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1209)
+ at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:608)
+ at org.eclipse.jface.preference.PreferenceDialog$9$1.run(PreferenceDialog.java:675)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:670)
+ at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:877)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:874)
+ at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1243)
+ at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1269)
+ at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:265)
+ at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
+ at org.eclipse.jface.util.OpenStrategy$1$2.run(OpenStrategy.java:440)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3794)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3433)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
+ at org.eclipse.jface.window.Window.open(Window.java:803)
+ at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
+ at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
+ at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
+ at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/Minecraft' is not open.
+ at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:143)
+ at org.eclipse.core.internal.resources.Resource.checkAccessibleAndLocal(Resource.java:214)
+ at org.eclipse.core.internal.resources.Resource.getSessionProperty(Resource.java:1206)
+ at org.eclipse.wst.validation.internal.ConfigurationManager.getProjectConfiguration(ConfigurationManager.java:126)
+ ... 63 more
+Root exception:
+org.eclipse.core.internal.resources.ResourceException: Resource '/Minecraft' is not open.
+ at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:143)
+ at org.eclipse.core.internal.resources.Resource.checkAccessibleAndLocal(Resource.java:214)
+ at org.eclipse.core.internal.resources.Resource.getSessionProperty(Resource.java:1206)
+ at org.eclipse.wst.validation.internal.ConfigurationManager.getProjectConfiguration(ConfigurationManager.java:126)
+ at org.eclipse.wst.validation.internal.ValManager.getValidatorsConfiguredForProject(ValManager.java:300)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.createPage(ValidationPropertyPage.java:265)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.<init>(ValidationPropertyPage.java:245)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage.createContents(ValidationPropertyPage.java:783)
+ at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
+ at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1450)
+ at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1217)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1209)
+ at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:608)
+ at org.eclipse.jface.preference.PreferenceDialog$9$1.run(PreferenceDialog.java:675)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:670)
+ at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:877)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:874)
+ at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1243)
+ at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1269)
+ at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:265)
+ at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
+ at org.eclipse.jface.util.OpenStrategy$1$2.run(OpenStrategy.java:440)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3794)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3433)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
+ at org.eclipse.jface.window.Window.open(Window.java:803)
+ at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
+ at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
+ at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
+ at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+
+!ENTRY org.eclipse.wst.validation 4 0 2016-11-29 20:02:29.706
+!MESSAGE Resource '/Minecraft' is not open.
+!STACK 1
+org.eclipse.core.internal.resources.ResourceException: Resource '/Minecraft' is not open.
+ at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:143)
+ at org.eclipse.core.internal.resources.Project.getDescription(Project.java:394)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.hasValidationBuilder(ValidationPropertyPage.java:489)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.addValidationBuilder(ValidationPropertyPage.java:463)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.createPage(ValidationPropertyPage.java:281)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.<init>(ValidationPropertyPage.java:245)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage.createContents(ValidationPropertyPage.java:783)
+ at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
+ at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1450)
+ at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1217)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1209)
+ at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:608)
+ at org.eclipse.jface.preference.PreferenceDialog$9$1.run(PreferenceDialog.java:675)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:670)
+ at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:877)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:874)
+ at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1243)
+ at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1269)
+ at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:265)
+ at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
+ at org.eclipse.jface.util.OpenStrategy$1$2.run(OpenStrategy.java:440)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3794)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3433)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
+ at org.eclipse.jface.window.Window.open(Window.java:803)
+ at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
+ at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
+ at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
+ at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+!SUBENTRY 1 org.eclipse.core.resources 4 372 2016-11-29 20:02:29.706
+!MESSAGE Resource '/Minecraft' is not open.
+
+!ENTRY org.eclipse.core.resources 4 567 2016-11-29 20:02:44.822
+!MESSAGE The project description file (.project) for 'Minecraft' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+
+!ENTRY org.eclipse.wst.validation 4 0 2016-11-29 20:03:24.222
+!MESSAGE IWAE0027E Could not retrieve the validation configuration for resource Minecraft.
+!STACK 0
+java.lang.reflect.InvocationTargetException: IWAE0027E Could not retrieve the validation configuration for resource Minecraft.
+ at org.eclipse.wst.validation.internal.ConfigurationManager.getProjectConfiguration(ConfigurationManager.java:135)
+ at org.eclipse.wst.validation.internal.ValManager.getValidatorsConfiguredForProject(ValManager.java:300)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.createPage(ValidationPropertyPage.java:265)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.<init>(ValidationPropertyPage.java:245)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage.createContents(ValidationPropertyPage.java:783)
+ at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
+ at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1450)
+ at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1217)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1209)
+ at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:608)
+ at org.eclipse.jface.preference.PreferenceDialog$9$1.run(PreferenceDialog.java:675)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:670)
+ at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:877)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:874)
+ at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1243)
+ at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1269)
+ at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:265)
+ at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
+ at org.eclipse.jface.util.OpenStrategy$1$2.run(OpenStrategy.java:440)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3794)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3433)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
+ at org.eclipse.jface.window.Window.open(Window.java:803)
+ at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
+ at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
+ at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
+ at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/Minecraft' is not open.
+ at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:143)
+ at org.eclipse.core.internal.resources.Resource.checkAccessibleAndLocal(Resource.java:214)
+ at org.eclipse.core.internal.resources.Resource.getSessionProperty(Resource.java:1206)
+ at org.eclipse.wst.validation.internal.ConfigurationManager.getProjectConfiguration(ConfigurationManager.java:126)
+ ... 63 more
+Root exception:
+org.eclipse.core.internal.resources.ResourceException: Resource '/Minecraft' is not open.
+ at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:143)
+ at org.eclipse.core.internal.resources.Resource.checkAccessibleAndLocal(Resource.java:214)
+ at org.eclipse.core.internal.resources.Resource.getSessionProperty(Resource.java:1206)
+ at org.eclipse.wst.validation.internal.ConfigurationManager.getProjectConfiguration(ConfigurationManager.java:126)
+ at org.eclipse.wst.validation.internal.ValManager.getValidatorsConfiguredForProject(ValManager.java:300)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.createPage(ValidationPropertyPage.java:265)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.<init>(ValidationPropertyPage.java:245)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage.createContents(ValidationPropertyPage.java:783)
+ at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
+ at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1450)
+ at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1217)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1209)
+ at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:608)
+ at org.eclipse.jface.preference.PreferenceDialog$9$1.run(PreferenceDialog.java:675)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:670)
+ at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:877)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:874)
+ at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1243)
+ at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1269)
+ at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:265)
+ at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
+ at org.eclipse.jface.util.OpenStrategy$1$2.run(OpenStrategy.java:440)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3794)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3433)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
+ at org.eclipse.jface.window.Window.open(Window.java:803)
+ at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
+ at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
+ at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
+ at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+
+!ENTRY org.eclipse.wst.validation 4 0 2016-11-29 20:03:24.238
+!MESSAGE Resource '/Minecraft' is not open.
+!STACK 1
+org.eclipse.core.internal.resources.ResourceException: Resource '/Minecraft' is not open.
+ at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:143)
+ at org.eclipse.core.internal.resources.Project.getDescription(Project.java:394)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.hasValidationBuilder(ValidationPropertyPage.java:489)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.addValidationBuilder(ValidationPropertyPage.java:463)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.createPage(ValidationPropertyPage.java:281)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage$ValidatorListPage.<init>(ValidationPropertyPage.java:245)
+ at org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage.createContents(ValidationPropertyPage.java:783)
+ at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
+ at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1450)
+ at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1217)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1209)
+ at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:608)
+ at org.eclipse.jface.preference.PreferenceDialog$9$1.run(PreferenceDialog.java:675)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:670)
+ at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:877)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
+ at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
+ at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:874)
+ at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1243)
+ at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1269)
+ at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:265)
+ at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
+ at org.eclipse.jface.util.OpenStrategy$1$2.run(OpenStrategy.java:440)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3794)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3433)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
+ at org.eclipse.jface.window.Window.open(Window.java:803)
+ at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
+ at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
+ at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
+ at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
+ at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
+ at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:498)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
+!SUBENTRY 1 org.eclipse.core.resources 4 372 2016-11-29 20:03:24.239
+!MESSAGE Resource '/Minecraft' is not open.
+
+!ENTRY org.eclipse.core.jobs 2 2 2016-11-29 20:03:29.846
+!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.epp.internal.logging.aeri.ui.log.ProblemsDatabaseUpdateJob
diff --git a/eclipse/.metadata/.mylyn/repositories.xml.zip b/eclipse/.metadata/.mylyn/repositories.xml.zip
new file mode 100644
index 0000000..61c718a
--- /dev/null
+++ b/eclipse/.metadata/.mylyn/repositories.xml.zip
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log b/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log
new file mode 100644
index 0000000..57aacd0
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log
@@ -0,0 +1 @@
+*** SESSION Apr 02, 2016 09:35:54.87 -------------------------------------------
diff --git a/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c b/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
@@ -0,0 +1 @@
+
diff --git a/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp b/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp
@@ -0,0 +1 @@
+
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/4090a85b46a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/4090a85b46a3001516ebc455efc032e5
new file mode 100644
index 0000000..010c6aa
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/4090a85b46a3001516ebc455efc032e5
@@ -0,0 +1,112 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+ File fileFrom = new File(IHLMod.class.getResource("/assets/ihl/config/ihl-guidebook.xml").getFile());
+ Files.copy(fileFrom, file);
+ }
+ return new File(folder, "ihl-guidebook.xml");
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0d1122b11a000151fdfc2dacce472e3 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0d1122b11a000151fdfc2dacce472e3
new file mode 100644
index 0000000..51069ea
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/d0d1122b11a000151fdfc2dacce472e3
@@ -0,0 +1,109 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import net.minecraft.item.ItemStack;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ Set<ItemStack> iss = new HashSet(4);
+ Set<String> textBlocks = new HashSet(2);
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode.getNodeName().equals("section"))
+ {
+ if(i==sectionNumber)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(list.getLength()<=sectionNumber)
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ if (node instanceof Element)
+ {
+ Element e = (Element) node;
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(e.getTextContent());
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = e.getTextContent().split(":");
+ iss.add(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ textBlocks.add(e.getTextContent());
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(e.getTextContent(), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ }
+ if(!iss.isEmpty())
+ {
+ ihlGuidebookGui.setItems(iss);
+ }
+ if(!textBlocks.isEmpty())
+ {
+ ihlGuidebookGui.setContent(textBlocks);
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile()
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ return new File(folder, "ihl-guidebook.xml");
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/23/200ef4dc19910015138fc97f11b3d08b b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/23/200ef4dc19910015138fc97f11b3d08b
new file mode 100644
index 0000000..fa4e745
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/23/200ef4dc19910015138fc97f11b3d08b
@@ -0,0 +1,303 @@
+package ihl.items_blocks;
+
+import ic2.api.tile.IWrenchable;
+import ic2.core.IC2;
+import ic2.core.IHasGui;
+import ic2.core.Ic2Items;
+import ic2.core.block.EntityDynamite;
+import ic2.core.item.tool.ItemToolCutter;
+import ic2.core.item.tool.ItemToolWrench;
+import ihl.IHLCreativeTab;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.collector.GlassBoxTileEntity;
+import ihl.datanet.RedstoneSignalConverterTileEntity;
+import ihl.flexible_cable.BatterySwitchUnitTileEntity;
+import ihl.flexible_cable.FrequencyGeneratorTileEntity;
+import ihl.flexible_cable.GroundingTileEntity;
+import ihl.flexible_cable.RectifierTransformerUnitTileEntity;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.items_blocks.MachineBaseBlock.MachineType;
+import ihl.model.ImpregnatingMachineBlockRender;
+import ihl.processing.chemistry.ChemicalReactorTileEntity;
+import ihl.processing.chemistry.CryogenicDistillerTileEntity;
+import ihl.processing.chemistry.ElectrolysisBathTileEntity;
+import ihl.processing.chemistry.ExplosiveTileEntity;
+import ihl.processing.chemistry.FluidizedBedReactorTileEntity;
+import ihl.processing.chemistry.FractionatorBottomTileEntity;
+import ihl.processing.chemistry.FractionatorCoverTileEntity;
+import ihl.processing.chemistry.FractionatorSectionTileEntity;
+import ihl.processing.chemistry.GaedesMercuryRotaryPumpTileEntity;
+import ihl.processing.chemistry.GoldChimneyKneeTileEntity;
+import ihl.processing.chemistry.LabElectrolyzerTileEntity;
+import ihl.processing.chemistry.LeadOvenTileEntity;
+import ihl.processing.chemistry.LoomTileEntity;
+import ihl.processing.chemistry.PaperMachineTileEntity;
+import ihl.processing.chemistry.PrecipitatorCondenserTileEntity;
+import ihl.processing.chemistry.RefluxCondenserTileEntity;
+import ihl.processing.metallurgy.AchesonFurnanceTileEntity;
+import ihl.processing.metallurgy.CoilerTileEntity;
+import ihl.processing.metallurgy.DetonationSprayingMachineTileEntity;
+import ihl.processing.metallurgy.ExtruderTileEntity;
+import ihl.processing.metallurgy.GasWeldingStationTileEntity;
+import ihl.processing.metallurgy.ImpregnatingMachineTileEntity;
+import ihl.processing.metallurgy.LathePart1TileEntity;
+import ihl.processing.metallurgy.LathePart2TileEntity;
+import ihl.processing.metallurgy.MuffleFurnanceTileEntity;
+import ihl.processing.metallurgy.RollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.RollingMachinePart2TileEntity;
+import ihl.processing.metallurgy.VacuumInductionMeltingFurnaceTileEntity;
+import ihl.processing.metallurgy.VulcanizationExtrudingMoldTileEntity;
+import ihl.processing.metallurgy.WireMillTileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart2TileEntity;
+import ihl.tunneling_shield.HydrotransportPulpRegeneratorTileEntity;
+import ihl.utils.IHLUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.ITileEntityProvider;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class ExplosiveBlock extends Block implements ITileEntityProvider{
+
+ @SideOnly(Side.CLIENT)
+ IIcon textureSide,
+ textureBack,
+ textureTop;
+
+ public ExplosiveBlock()
+ {
+ super(Material.tnt);
+ this.setCreativeTab(IHLCreativeTab.tab);
+ this.setBlockName("ihlExplosive");
+ this.setHardness(2F);
+ this.setResistance(1F);
+ }
+
+
+ @Override
+ public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
+ {
+ if(IC2.platform.isSimulating())
+ {
+ }
+ }
+
+ @Override
+ public void getSubBlocks(Item item, CreativeTabs par2CreativeTabs, List itemList)
+ {
+ ItemStack result = new ItemStack(item);
+ result.stackTagCompound=new NBTTagCompound();
+ result.stackTagCompound.setInteger("explosionType", 0);//0 - IC2; 1- IHL
+ result.stackTagCompound.setInteger("explosionPower", 100000);
+ //itemList.add(result);
+ result = new ItemStack(item);
+ result.stackTagCompound=new NBTTagCompound();
+ result.stackTagCompound.setInteger("explosionType", 1);//0 - IC2; 1- IHL
+ result.stackTagCompound.setInteger("explosionPower", 32000);//31000
+ itemList.add(result);
+ }
+
+ @Override
+ public void onBlockPreDestroy(World world, int x, int y, int z, int meta)
+ {
+ if(!world.isRemote)
+ {
+ TileEntity te = world.getTileEntity(x, y, z);
+ }
+ super.onBlockPreDestroy(world, x, y, z, meta);
+ }
+
+ @Override
+ public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity entity)
+ {
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.1F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.1F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.1F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.9F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.9F, 1.0F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBoundsForItemRender();
+ }
+
+ public void setBlockBoundsForItemRender()
+ {
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
+ }
+
+ public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int x, int y, int z)
+ {
+ int facing = 3;
+ TileEntity te = blockAccess.getTileEntity(x, y, z);
+ if(te!=null && te instanceof IWrenchable)
+ {
+ IWrenchable tebh = (IWrenchable) te;
+ facing=tebh.getFacing();
+ }
+ super.setBlockBoundsBasedOnState(blockAccess, x, y, z);
+ }
+
+ public static void init()
+ {
+ GameRegistry.registerBlock(new ExplosiveBlock(), IHLItemBlock.class,"ihlExplosive");
+ GameRegistry.registerTileEntity(ExplosiveTileEntity.class, "explosiveTileEntity");
+ ExplosiveType[] var1 = ExplosiveType.values();
+ }
+
+ @Override
+ public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int flag)
+ {
+ super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, flag);
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2) {
+ return new ExplosiveTileEntity();
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister par1IconRegister)
+ {
+ this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenSide");
+ this.textureBack = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenBack");
+ this.textureSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenSide");
+ this.textureTop = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenTop");
+ }
+
+ @Override
+ public boolean hasTileEntity(int metadata)
+ {
+ return true;
+ }
+
+ @Override
+ public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer player,int i,float pos_x,float pos_y,float pos_z){
+ TileEntity te = world.getTileEntity(x,y,z);
+ if(IC2.platform.isSimulating() && te instanceof ExplosiveTileEntity)
+ {
+ ((ExplosiveTileEntity)te).createExplosion(player);
+ }
+ return false;
+ }
+
+
+ /**
+ * Called when the block is placed in the world.
+ */
+ @Override
+ public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack)
+ {
+ TileEntity t = world.getTileEntity(x, y, z);
+ if(t!=null)
+ {
+ t.readFromNBT(itemStack.stackTagCompound);
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
+ {
+ int facing=3;
+ int mask[] = {
+ 0,1,2,3,4,5,
+ 1,0,3,2,4,5,
+ 2,3,0,1,4,5,
+ 2,3,1,0,4,5,
+ 2,3,5,4,0,1,
+ 2,3,4,5,1,0
+ };
+ TileEntity te = world.getTileEntity(x, y, z);
+ if(te instanceof IWrenchable)
+ {
+ IWrenchable tebh = (IWrenchable) te;
+ facing=tebh.getFacing();
+ }
+ return this.getIconFromFacing(facing, side);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int side, int meta)
+ {
+ return this.getIconFromFacing(3, side);
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromFacing(int facing, int side)
+ {
+ return this.textureSide;
+ }
+
+ @Override
+ public boolean onBlockEventReceived(World world, int x, int y, int z, int metadata, int flag)
+ {
+ return true;
+ }
+
+ public enum ExplosiveType
+ {
+ MuffleFurnace("muffleFurnance",MuffleFurnanceTileEntity.class, true, new ItemStack(Items.brick));
+ ExplosiveType(String unlocalizedName1, Class teclass1, boolean isNormalBlock1,ItemStack itemDroppedOnBlockDestroy1)
+ {
+ unlocalizedName=unlocalizedName1;
+ teclass=teclass1;
+ isNormalBlock=isNormalBlock1;
+ itemDroppedOnBlockDestroy=itemDroppedOnBlockDestroy1;
+ }
+ String unlocalizedName;
+ Class teclass;
+ boolean isNormalBlock=true;
+ ItemStack itemDroppedOnBlockDestroy;
+ }
+
+ public int getRenderType()
+ {
+ return 0;
+ }
+
+ public boolean isOpaqueCube()
+ {
+ return true;
+ }
+
+ public boolean renderAsNormalBlock()
+ {
+ return true;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon getInnerTextureForBlockRenderer()
+ {
+ return this.blockIcon;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/0034395f7f8b0015134481ec712b17ae b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/0034395f7f8b0015134481ec712b17ae
new file mode 100644
index 0000000..a891dbe
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/0034395f7f8b0015134481ec712b17ae
@@ -0,0 +1,316 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public Map<Long,Integer> drops;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/4063232,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ boolean hasSomeBlocksStickedToAir=false;
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ while(ebbi.hasNext())
+ {
+ long longNumber = ebbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(!this.isBlockConnectedWithBedrock(longNumber))
+ {
+ hasSomeBlocksStickedToAir=true;
+ }
+ }
+ }
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+ }
+ }
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/3087c516499b001510c7de20d4b3838c b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/3087c516499b001510c7de20d4b3838c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/3087c516499b001510c7de20d4b3838c
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/90354db2158e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/90354db2158e00151544f45b8684d31e
new file mode 100644
index 0000000..483decd
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/90354db2158e00151544f45b8684d31e
@@ -0,0 +1,390 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public Map<Long,Integer> drops;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ public ExtendedBlockStorage[][][] esbArray;
+ private int[][][] esbHardness;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ public int chunkX;
+ public int chunkZ;
+ public DamageSource damageSource;
+ public int areaSize;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.drops=new HashMap();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/16000,1));
+ this.areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.esbArray = new ExtendedBlockStorage[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ this.esbArray[var11 - this.chunkX][var12 - this.chunkZ] = var13.getBlockStorageArray();
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ this.precalculateESBHardness();
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ private void precalculateESBHardness()
+ {
+ for(int x1=0;x1<this.esbArray.length;x1++)
+ {
+ ExtendedBlockStorage[][] esb3 = this.esbArray[x1];
+ for(int z2=0;z2<esb3.length;z2++)
+ {
+ ExtendedBlockStorage[] esb2 = esb3[z2];
+ for(int y3=0;y3<esb2.length;y3++)
+ {
+ ExtendedBlockStorage esb = esb2[y3];
+ if(esb.isEmpty())
+ {
+ this.esbHardness[x1][z2][y3]=0;
+ }
+ else
+ {
+ byte[] lbsArray = esb.getBlockLSBArray();
+ for(int i4=0;i4<lbsArray.length;i4++)
+ {
+ int var4 = lbsArray[i4] & 255;
+
+ if (esb.getBlockMSBArray() != null)
+ {
+ var4 |= esb.getBlockMSBArray().get(i4>>8, (i4>>4) & 4095, i4 & 4095) << 8;
+ }
+ this.esbHardness[x1][z2][y3]+=Math.round(Block.getBlockById(var4).getExplosionResistance(this, worldObj, (i4>>8)+(x1<<4), ((i4>>4) & 4095)+(y3<<4), (i4 & 4095)+(z2<<4), this.x, this.y, this.z)*10f);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ boolean hasSomeBlocksStickedToAir=false;
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ while(ebbi.hasNext())
+ {
+ long longNumber = ebbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(!this.isBlockConnectedWithBedrock(longNumber))
+ {
+ hasSomeBlocksStickedToAir=true;
+ }
+ }
+ }
+ Iterator<Long> bnctbi = this.blocksNotConnectedWithBedrock.iterator();
+ while(bnctbi.hasNext())
+ {
+ long longNumber5 = bnctbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber5);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ float bh = block.getBlockHardness(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(bh>=0f && bh<Float.MAX_VALUE)
+ {
+ block.onBlockDestroyedByExplosion(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], explosion);
+ this.setBlockToAir(x, y, z);
+ }
+ }
+
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+ }
+ }
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public List<Entity> getEntityFromESB(int cax, int eay, int caz)
+ {
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ return var7.entityLists[eay];
+ }
+ }
+ return null;
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+ public int getEBSResistance(int x2, int y2, int z2)
+ {
+ return this.esbHardness[x2][z2][y2];
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4/50d57f047194001516739e804437c3f8 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4/50d57f047194001516739e804437c3f8
new file mode 100644
index 0000000..a941ce6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4/50d57f047194001516739e804437c3f8
@@ -0,0 +1,494 @@
+package ihl.utils;
+
+import java.nio.FloatBuffer;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.lwjgl.opengl.GL11;
+
+import ic2.core.util.DrawUtil;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.client.renderer.GLAllocation;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.IBlockAccess;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+public class IHLRenderUtils
+{
+ private FloatBuffer colorBuffer;
+ private Map<Long, Integer> frameTooltipMap;
+ private int displayScaledWidth=-1;
+ private int displayScaledHeight=-1;
+ private int guiXPos=-1;
+ private int guiYPos=-1;
+ private int prevDisplayWidth=-1;
+ private int prevDisplayHeight=-1;
+ private final int guiContainerWidth = 166;
+ private final int guiContainerHeight = 176;
+ private float lastPlayerYaw;
+ private float lastPlayerPitch;
+ private double lastPlayerPosY;
+ private double lastPlayerPosZ;
+ private double lastPlayerPosX;
+ private double renderMinX=0d;
+ private double renderMaxX=1d;
+ private double renderMinY=0d;
+ private double renderMaxY=1d;
+ private double renderMinZ=0d;
+ private double renderMaxZ=1d;
+ public boolean renderFromInside=false;
+ public static IHLRenderUtils instance;
+
+ public IHLRenderUtils()
+ {
+ instance=this;
+ colorBuffer = GLAllocation.createDirectFloatBuffer(16);
+ frameTooltipMap = new HashMap();
+ }
+
+ public void renderIHLFluidTank(IHLFluidTank fluidTank, int x1, int y1, int x2, int y2, float zLevel, int par1, int par2, int xOffset, int yOffset)
+ {
+ int liquidHeight = 0;
+ int prevLiquidHeight = 0;
+ int i = y2-y1;
+ Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture);
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glColor4f(1f, 1f, 1f, 1f);
+ for(int i2 = 0;i2<fluidTank.getNumberOfFluids();i2++)
+ {
+ FluidStack fluidStack = fluidTank.getFluid(i2);
+ if(fluidStack!=null)
+ {
+ Fluid fluid = fluidStack.getFluid();
+ if(fluid!=null)
+ {
+ IIcon fluidIcon = fluid.getIcon();
+ if (fluidIcon != null)
+ {
+ liquidHeight = fluidTank.getFluidAmount(i2) * i /fluidTank.getCapacity();
+ DrawUtil.drawRepeated(fluidIcon, (double)x1, (double)(y2 - liquidHeight-prevLiquidHeight), (double)(x2-x1), (double)liquidHeight, (double)zLevel);
+ prevLiquidHeight+=liquidHeight;
+ }
+ }
+ }
+ }
+ drawIHLFluidTankTooltip(par1, par2, x1+guiXPos-6, y1+guiYPos+6, x2+guiXPos-6, y2+guiYPos+6, fluidTank);
+ }
+
+ public void drawMissingEngineTooltip(GuiContainer gui, int par1, int par2, int xPos, int yPos, int xOffset, int yOffset)
+ {
+ gui.drawTexturedModalRect(xPos, yPos, 194, 0, 3, 14);
+ drawTooltip(par1,par2,3,14,xPos+xOffset,yPos+yOffset,"ihl.gui.missing.engine");
+ }
+
+ public void drawWorkspaceElementTooltip(int par1, int par2, int xPos, int yPos, ItemStack workSpaceElement)
+ {
+ drawTooltip(par1,par2,16,16,xPos,yPos,workSpaceElement.getUnlocalizedName()+".tooltip");
+ }
+
+ public void drawIHLFluidTankTooltip(int par1, int par2, int x1, int y1, int x2, int y2, IHLFluidTank fluidTank)
+ {
+ String fluidListNames="";
+ List<FluidStack> fli = fluidTank.getFluidList();
+ for(int i=fli.size()-1;i>=0;i--)
+ {
+ FluidStack fluidStack = fli.get(i);
+ fluidListNames+=StatCollector.translateToLocal(fluidStack.getUnlocalizedName())+": "+fluidStack.amount+"mB /n ";
+ }
+ drawTooltip(par1,par2,x2-x1,y2-y1,x1,y1,fluidListNames);
+ }
+
+ public boolean drawTooltip(int cursorPosX, int cursorPosY, int width, int height, int xPos, int yPos, String text)
+ {
+ updateScreenSize();
+ long key = xPos+yPos*1024;
+ Integer frame=0;
+ if(frameTooltipMap.containsKey(key))
+ {
+ frame=frameTooltipMap.get(key);
+ }
+ boolean showString=true;
+ if(cursorPosX<xPos || cursorPosX>xPos+width||
+ cursorPosY<yPos || cursorPosY>yPos+height)
+ {
+ if(frame>0)
+ {
+ frame-=20;
+ frameTooltipMap.put(key, frame);
+ }
+ showString=false;
+ }
+ else
+ {
+ frame+=10;
+ frameTooltipMap.put(key, frame);
+ }
+ if(frame>0)
+ {
+ int strokeHeight=15;
+ int i,x1,x2,y1,y2,tooltipWidth,tooltipHeight;
+ tooltipWidth=tooltipHeight=0;
+ String[] splittedText = StatCollector.translateToLocal(text).split(" /n ");
+ for(i=0;i<splittedText.length;i++)
+ {
+ if(Minecraft.getMinecraft().fontRenderer.getStringWidth(splittedText[i])+8>tooltipWidth)
+ {
+ tooltipWidth=Math.min(frame,Minecraft.getMinecraft().fontRenderer.getStringWidth(splittedText[i])+8);
+ }
+ }
+ tooltipHeight=Math.min(Math.max(frame-tooltipWidth,strokeHeight),strokeHeight*splittedText.length);
+ x1=cursorPosX-xPos;
+ x2=x1+tooltipWidth;
+ y1=cursorPosY-guiYPos+18;
+ y2=y1+tooltipHeight;
+ GL11.glPushAttrib(16704);
+ GL11.glDisable(GL11.GL_DEPTH_TEST);
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ if(showString)
+ {
+ drawRectangle(Tessellator.instance, x1,y1,x2,y2,128);
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ for(i=0;i<splittedText.length;i++)
+ {
+ if(i<tooltipHeight/strokeHeight)
+ {
+ Minecraft.getMinecraft().fontRenderer.drawStringWithShadow(splittedText[i].substring(0, Math.min(splittedText[i].length(), tooltipWidth/5)), x1+4, y1+i*strokeHeight+4, 16768125);
+ }
+ }
+ }
+ else
+ {
+ drawRectangle(Tessellator.instance, x1,y1,x2,y2,Math.min(128,frame/2));
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ }
+ GL11.glPopAttrib();
+ frame=Math.min(tooltipWidth+tooltipHeight,frame);
+ frameTooltipMap.put(key, frame);
+ return true;
+ }
+ return false;
+ }
+
+ public void enableAmbientLighting()
+ {
+ GL11.glDisable(GL11.GL_LIGHT0);
+ GL11.glDisable(GL11.GL_LIGHT1);
+ GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, setColorBuffer(1.0f, 1.0f, 1.0f, 1.0F));
+ }
+
+ public void disableAmbientLighting()
+ {
+ GL11.glEnable(GL11.GL_LIGHT0);
+ GL11.glEnable(GL11.GL_LIGHT1);
+ GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, setColorBuffer(0.0f, 0.0f, 0.0f, 1.0F));
+ }
+
+ /**
+ * Update and return colorBuffer with the RGBA values passed as arguments
+ */
+ private FloatBuffer setColorBuffer(float par0, float par1, float par2, float par3)
+ {
+ colorBuffer.clear();
+ colorBuffer.put(par0).put(par1).put(par2).put(par3);
+ colorBuffer.flip();
+ return colorBuffer;
+ }
+
+ private void drawRectangle(Tessellator tessellator, int x1, int y1, int x2, int y2, int color)
+ {
+ tessellator.startDrawingQuads();
+ tessellator.setColorRGBA(color >>> 24 & 255, color >>> 16 & 255, color >>> 8 & 255, color & 255);
+ tessellator.addVertex((double)x2, (double)y1, 300.0D);
+ tessellator.addVertex((double)x1, (double)y1, 300.0D);
+ tessellator.addVertex((double)x1, (double)y2, 300.0D);
+ tessellator.addVertex((double)x2, (double)y2, 300.0D);
+ tessellator.draw();
+ }
+
+ public void drawThermometerTemperature(long temperature, boolean show)
+ {
+ updateScreenSize();
+ long key = 0;
+ int frame=0;
+ if(frameTooltipMap.containsKey(key))
+ {
+ frame=frameTooltipMap.get(key);
+ }
+ if(frame<=0)
+ {
+ updatePlayerView();
+ }
+ boolean showString=true;
+ if(show && frame<=122)
+ {
+ frame+=1;
+ frameTooltipMap.put(key, frame);
+ }
+ else
+ {
+ if(frame>0)
+ {
+ frame-=2;
+ frameTooltipMap.put(key, frame);
+ }
+ showString=false;
+ }
+ if(frame>0)
+ {
+ int width=Math.min(frame, 122);
+ int height=Math.min(frame, 48);
+ int xShift = Math.round(displayScaledWidth/100*(lastPlayerYaw - Minecraft.getMinecraft().renderViewEntity.prevRotationYaw));
+ int yShift = Math.round(displayScaledHeight/64*(lastPlayerPitch - Minecraft.getMinecraft().renderViewEntity.prevRotationPitch));
+ int xPos = displayScaledWidth/2+xShift;
+ int yPos = displayScaledHeight/2-48+yShift;
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ drawTexturedModalRect(xPos,yPos,0,0,width,height);
+ GL11.glDisable(GL11.GL_DEPTH_TEST);
+ if(showString)
+ {
+ Minecraft.getMinecraft().fontRenderer.drawStringWithShadow(temperature+"\u00B0K", xPos+35, yPos+3, 16768125);
+ }
+ GL11.glEnable(GL11.GL_DEPTH_TEST);
+ GL11.glDisable(GL11.GL_BLEND);
+ }
+ }
+
+ public void drawTexturedModalRect(int x1, int y1, int u, int v, int x2, int y2) {
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ Tessellator tessellator = Tessellator.instance;
+ tessellator.startDrawingQuads();
+ tessellator.setColorRGBA_F(1f, 1f, 1f, 0.5f);
+ tessellator.addVertexWithUV((double)(x1 + 0), (double)(y1 + y2), 300D, (double)((float)(u + 0) * f), (double)((float)(v + y2) * f1));
+ tessellator.addVertexWithUV((double)(x1 + x2), (double)(y1 + y2), 300D, (double)((float)(u + x2) * f), (double)((float)(v + y2) * f1));
+ tessellator.addVertexWithUV((double)(x1 + x2), (double)(y1 + 0), 300D, (double)((float)(u + x2) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x1 + 0), (double)(y1 + 0), 300D, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ }
+
+
+ private void updateScreenSize()
+ {
+ if(prevDisplayHeight!=Minecraft.getMinecraft().displayHeight || prevDisplayWidth!=Minecraft.getMinecraft().displayWidth)
+ {
+ ScaledResolution var2 = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight);
+ displayScaledWidth = var2.getScaledWidth();
+ displayScaledHeight = var2.getScaledHeight();
+ guiXPos = (displayScaledWidth - guiContainerWidth)/2;
+ guiYPos = (displayScaledHeight - guiContainerHeight)/2;
+ prevDisplayWidth=Minecraft.getMinecraft().displayWidth;
+ prevDisplayHeight=Minecraft.getMinecraft().displayHeight;
+ }
+ }
+
+ public void updatePlayerView()
+ {
+ lastPlayerYaw = Minecraft.getMinecraft().renderViewEntity.prevRotationYaw;
+ lastPlayerPitch = Minecraft.getMinecraft().renderViewEntity.prevRotationPitch;
+ lastPlayerPosX = Minecraft.getMinecraft().renderViewEntity.prevPosX;
+ lastPlayerPosY = Minecraft.getMinecraft().renderViewEntity.prevPosY;
+ lastPlayerPosZ = Minecraft.getMinecraft().renderViewEntity.prevPosZ;
+ }
+
+ public void renderPipeOutside(double xPos, double yPos, double zPos, IIcon icon)
+ {
+ double minX = this.renderMinX;
+ double maxX = this.renderMaxX;
+ double minY = this.renderMinY;
+ double maxY = this.renderMaxY;
+ double minZ = this.renderMinZ;
+ double maxZ = this.renderMaxZ;
+ this.setRenderBounds(0d, 0d, 0d, 1/3d, 1/3d, 1/3d);
+ }
+
+ public void renderFaceXpYmNeg(double xPos, double yPos, double zPos, IIcon icon)
+ {
+ Tessellator var9 = Tessellator.instance;
+
+ double u1 = (double)icon.getInterpolatedU(this.renderMinZ * 16.0D);
+ double u2 = (double)icon.getInterpolatedU(this.renderMaxZ * 16.0D);
+
+ double v2 = (double)icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
+ double v1 = (double)icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
+
+ if (this.renderMinZ < 0.0D || this.renderMaxZ > 1.0D)
+ {
+ u1 = (double)icon.getMinU();
+ u2 = (double)icon.getMaxU();
+ }
+
+ if (this.renderMinY < 0.0D || this.renderMaxY > 1.0D)
+ {
+ v2 = (double)icon.getMinV();
+ v1 = (double)icon.getMaxV();
+ }
+
+ double vertexX1 = xPos + this.renderMinX;
+ double vertexX2 = xPos + this.renderMaxX;
+ double vertexY1 = yPos + this.renderMinY;
+ double vertexY2 = yPos + this.renderMaxY;
+ double vertexZ1 = zPos + this.renderMinZ;
+ double vertexZ2 = zPos + this.renderMaxZ;
+
+ if(this.renderFromInside)
+ {
+ vertexZ1 = zPos + this.renderMaxZ;
+ vertexZ2 = zPos + this.renderMinZ;
+ }
+ var9.addVertexWithUV(vertexX1, vertexY1, vertexZ2, u1, v1);
+ var9.addVertexWithUV(vertexX1, vertexY1, vertexZ1, u2, v1);
+ var9.addVertexWithUV(vertexX2, vertexY2, vertexZ1, u2, v2);
+ var9.addVertexWithUV(vertexX2, vertexY2, vertexZ2, u1, v2);
+ }
+
+ public void renderFaceXmYpPos(double xPos, double yPos, double zPos, IIcon icon)
+ {
+ Tessellator var9 = Tessellator.instance;
+
+ double u1 = (double)icon.getInterpolatedU(this.renderMinZ * 16.0D);
+ double u2 = (double)icon.getInterpolatedU(this.renderMaxZ * 16.0D);
+
+ double v2 = (double)icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
+ double v1 = (double)icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
+
+ if (this.renderMinZ < 0.0D || this.renderMaxZ > 1.0D)
+ {
+ u1 = (double)icon.getMinU();
+ u2 = (double)icon.getMaxU();
+ }
+
+ if (this.renderMinY < 0.0D || this.renderMaxY > 1.0D)
+ {
+ v2 = (double)icon.getMinV();
+ v1 = (double)icon.getMaxV();
+ }
+
+ double vertexX1 = xPos + this.renderMinX;
+ double vertexX2 = xPos + this.renderMaxX;
+ double vertexY1 = yPos + this.renderMinY;
+ double vertexY2 = yPos + this.renderMaxY;
+ double vertexZ1 = zPos + this.renderMaxZ;
+ double vertexZ2 = zPos + this.renderMinZ;
+
+ if(this.renderFromInside)
+ {
+ vertexZ1 = zPos + this.renderMinZ;
+ vertexZ2 = zPos + this.renderMaxZ;
+ }
+ var9.addVertexWithUV(vertexX1, vertexY1, vertexZ2, u1, v1);
+ var9.addVertexWithUV(vertexX1, vertexY1, vertexZ1, u2, v1);
+ var9.addVertexWithUV(vertexX2, vertexY2, vertexZ1, u2, v2);
+ var9.addVertexWithUV(vertexX2, vertexY2, vertexZ2, u1, v2);
+ }
+
+
+ public void renderFaceXmYmPos(double xPos, double yPos, double zPos, IIcon icon)
+ {
+ Tessellator var9 = Tessellator.instance;
+
+ double u1 = (double)icon.getInterpolatedU(this.renderMinZ * 16.0D);
+ double u2 = (double)icon.getInterpolatedU(this.renderMaxZ * 16.0D);
+
+ double v2 = (double)icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
+ double v1 = (double)icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
+
+ if (this.renderMinZ < 0.0D || this.renderMaxZ > 1.0D)
+ {
+ u1 = (double)icon.getMinU();
+ u2 = (double)icon.getMaxU();
+ }
+
+ if (this.renderMinY < 0.0D || this.renderMaxY > 1.0D)
+ {
+ v2 = (double)icon.getMinV();
+ v1 = (double)icon.getMaxV();
+ }
+
+ double vertexX1 = xPos + this.renderMinX;
+ double vertexX2 = xPos + this.renderMaxX;
+ double vertexY1 = yPos + this.renderMinY;
+ double vertexY2 = yPos + this.renderMaxY;
+ double vertexZ1 = zPos + this.renderMinZ;
+ double vertexZ2 = zPos + this.renderMaxZ;
+
+ if(this.renderFromInside)
+ {
+ vertexZ1 = zPos + this.renderMaxZ;
+ vertexZ2 = zPos + this.renderMinZ;
+ }
+ var9.addVertexWithUV(vertexX2, vertexY1, vertexZ2, u1, v1);
+ var9.addVertexWithUV(vertexX2, vertexY1, vertexZ1, u2, v1);
+ var9.addVertexWithUV(vertexX1, vertexY2, vertexZ1, u2, v2);
+ var9.addVertexWithUV(vertexX1, vertexY2, vertexZ2, u1, v2);
+ }
+
+ public void renderFaceXpYpNeg(double xPos, double yPos, double zPos, IIcon icon)
+ {
+ Tessellator var9 = Tessellator.instance;
+
+ double u1 = (double)icon.getInterpolatedU(this.renderMinZ * 16.0D);
+ double u2 = (double)icon.getInterpolatedU(this.renderMaxZ * 16.0D);
+
+ double v2 = (double)icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
+ double v1 = (double)icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
+
+ if (this.renderMinZ < 0.0D || this.renderMaxZ > 1.0D)
+ {
+ u1 = (double)icon.getMinU();
+ u2 = (double)icon.getMaxU();
+ }
+
+ if (this.renderMinY < 0.0D || this.renderMaxY > 1.0D)
+ {
+ v2 = (double)icon.getMinV();
+ v1 = (double)icon.getMaxV();
+ }
+
+ double vertexX1 = xPos + this.renderMinX;
+ double vertexX2 = xPos + this.renderMaxX;
+ double vertexY1 = yPos + this.renderMinY;
+ double vertexY2 = yPos + this.renderMaxY;
+ double vertexZ1 = zPos + this.renderMaxZ;
+ double vertexZ2 = zPos + this.renderMinZ;
+
+ if(this.renderFromInside)
+ {
+ vertexZ1 = zPos + this.renderMinZ;
+ vertexZ2 = zPos + this.renderMaxZ;
+ }
+ var9.addVertexWithUV(vertexX2, vertexY1, vertexZ2, u1, v1);
+ var9.addVertexWithUV(vertexX2, vertexY1, vertexZ1, u2, v1);
+ var9.addVertexWithUV(vertexX1, vertexY2, vertexZ1, u2, v2);
+ var9.addVertexWithUV(vertexX1, vertexY2, vertexZ2, u1, v2);
+ }
+
+
+
+ public void setRenderBounds(double minX, double minY, double minZ, double maxX, double maxY, double maxZ)
+ {
+ this.renderMinX = minX;
+ this.renderMaxX = maxX;
+ this.renderMinY = minY;
+ this.renderMaxY = maxY;
+ this.renderMinZ = minZ;
+ this.renderMaxZ = maxZ;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/e07bf28042b60015176c95ddaf2504ce b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/e07bf28042b60015176c95ddaf2504ce
new file mode 100644
index 0000000..1aa15b0
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/e07bf28042b60015176c95ddaf2504ce
@@ -0,0 +1,578 @@
+package ihl.flexible_cable;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
+import cpw.mods.fml.common.network.internal.FMLProxyPacket;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.interfaces.ICableHolder;
+import ihl.interfaces.IDataCableHolder;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.INetworkListener;
+import ihl.utils.IHLUtils;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufInputStream;
+import io.netty.buffer.ByteBufOutputStream;
+import io.netty.buffer.Unpooled;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldServer;
+
+public class NodeEntity extends Entity implements INetworkListener{
+
+ public Entity prevAnchorEntity;
+ public Entity nextAnchorEntity;
+ private int anchorX;
+ private int anchorY;
+ private int anchorZ;
+ private short anchorFacing;
+ private int anchorDimensionId;
+ public ItemStack attachedItem;
+ protected int chainUniqueID=-2;
+ public int chainArrangeNumber=-2;
+ protected int checkTimer=201;
+ public int colorIndex=16777215;
+ public int type=1;//0 - uninsulated wire; 1 - insulated cable; 2 - data cable
+ public float dx0=0;
+ public float dy0=0;
+ public float dz0=0;
+ public final int n=64;
+ public final float[] rotationPitchArray = new float[n+1];
+ public final float[] rotationYawArray = new float[n+1];
+ public final float[] translationX = new float[n+1];
+ public final float[] translationY = new float[n+1];
+ public final float[] translationZ = new float[n+1];
+ public float virtualNodePosX;
+ public float virtualNodePosY;
+ public float virtualNodePosZ;
+ public float renderPosX;
+ public float renderPosY;
+ public float renderPosZ;
+ private boolean alreadyRegistered=false;
+
+ public NodeEntity(World world)
+ {
+ super(world);
+ if(world.isRemote)
+ {
+ IHLMod.proxy.addEntityToList(this);
+ this.setSize(2f, 0.2f);
+ }
+ else
+ {
+ IHLMod.proxy.addEntityToServerList(this);
+ this.setSize(0.5F, 0.1F);
+ }
+ this.renderDistanceWeight = 5.0D;
+ this.yOffset+=0.15F;
+ this.virtualNodePosX=(float) this.posX;
+ this.virtualNodePosY=(float) this.posY;
+ this.virtualNodePosZ=(float) this.posZ;
+ }
+
+ @Override
+ public void setInPortal(){}
+
+ @Override
+ public void travelToDimension(int dimensionId){}
+
+ public void setSize(float width, float heigth)
+ {
+ super.setSize(width, heigth);
+ }
+
+ public void setVirtualNodePos(float posX,float posY, float posZ)
+ {
+ virtualNodePosX=posX;
+ virtualNodePosY=posY;
+ virtualNodePosZ=posZ;
+ this.registerAndSendData(null);
+ }
+
+ public void registerAndSendData(EntityPlayerMP player)
+ {
+ if(!worldObj.isRemote)
+ {
+ if(!alreadyRegistered)
+ {
+ Set<NodeEntity> nes;
+ if(IHLMod.proxy.nodeEntityRegistry.containsKey(this.getChainUniqueID()))
+ {
+ nes=IHLMod.proxy.nodeEntityRegistry.get(this.getChainUniqueID());
+ }
+ else
+ {
+ nes=new HashSet();
+ IHLMod.proxy.nodeEntityRegistry.put(this.getChainUniqueID(),nes);
+ }
+ nes.add(this);
+ alreadyRegistered=true;
+ }
+ ByteBuf bb = Unpooled.buffer(30);
+ ByteBufOutputStream byteBufOutputStream = new ByteBufOutputStream(bb);
+ try
+ {
+ byteBufOutputStream.write(1);
+ byteBufOutputStream.writeInt(this.getEntityId());
+ byteBufOutputStream.writeInt(this.getChainUniqueID());
+ byteBufOutputStream.writeInt(this.chainArrangeNumber);
+ byteBufOutputStream.writeByte(this.type);
+ byteBufOutputStream.writeInt(this.colorIndex);
+ byteBufOutputStream.writeFloat(this.virtualNodePosX);
+ byteBufOutputStream.writeFloat(this.virtualNodePosY);
+ byteBufOutputStream.writeFloat(this.virtualNodePosZ);
+ if(player==null)
+ {
+ IHLMod.proxy.sendFromServerToAll(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID));
+ }
+ else
+ {
+ IHLMod.proxy.sendFromServerToPlayer(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID),player);
+ }
+ byteBufOutputStream.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onUpdate()
+ {
+ super.onUpdate();
+ if(!noClip && !worldObj.isRemote)
+ {
+ this.moveEntity(this.motionX, this.motionY, this.motionZ);
+ }
+ if(this.checkTimer==201)
+ {
+ if(worldObj.isRemote)
+ {
+ IHLMod.proxy.recieveDelayedDataPacket(this);
+ }
+ else
+ {
+ this.registerAndSendData(null);
+ }
+ }
+ if((prevAnchorEntity==null && !noClip)||(nextAnchorEntity==null || nextAnchorEntity instanceof EntityPlayer || nextAnchorEntity instanceof EntityItem))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<NodeEntity> eItemsList = this.worldObj.getEntitiesWithinAABB(NodeEntity.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ NodeEntity node=(NodeEntity) ei.next();
+ if(node.getChainUniqueID()==this.getChainUniqueID())
+ {
+ if(node.chainArrangeNumber==this.chainArrangeNumber-1)
+ {
+ this.prevAnchorEntity=node;
+ node.nextAnchorEntity=this;
+ }
+ else if(node.chainArrangeNumber==this.chainArrangeNumber+1)
+ {
+ this.nextAnchorEntity=node;
+ node.prevAnchorEntity=this;
+ }
+ }
+ if(prevAnchorEntity!=null && nextAnchorEntity!=null)
+ {
+ break;
+ }
+ }
+ }
+ }
+ if(this.attachedItem!=null && (this.nextAnchorEntity == null || this.nextAnchorEntity.isDead) && !this.noClip)
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityPlayer> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityPlayer player=(EntityPlayer) ei.next();
+ if(this.playerHasItemStack(player))
+ {
+ this.nextAnchorEntity=player;
+ }
+
+ }
+ }
+ }
+ if(this.attachedItem!=null && this.nextAnchorEntity instanceof EntityPlayer && !noClip)
+ {
+ EntityPlayer player = (EntityPlayer) this.nextAnchorEntity;
+ if(!this.playerHasItemStack(player))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator<EntityItem> ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityItem eitem = ei.next();
+ if(eitem.getEntityItem().isItemEqual(this.attachedItem))
+ {
+ this.nextAnchorEntity=eitem;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if(!worldObj.isRemote)
+ {
+ {
+ double x0,x2,y0,y2,z0,z2;
+ x2=x0=this.virtualNodePosX;
+ y2=y0=this.virtualNodePosY;
+ z2=z0=this.virtualNodePosZ;
+ if(nextAnchorEntity!=null)
+ {
+ x2=nextAnchorEntity.posX;
+ y2=nextAnchorEntity.posY;
+ z2=nextAnchorEntity.posZ;
+ }
+ if(prevAnchorEntity!=null)
+ {
+ x0=prevAnchorEntity.posX;
+ y0=prevAnchorEntity.posY;
+ z0=prevAnchorEntity.posZ;
+ }
+
+ double d1 = (x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)+(z0-z2)*(z0-z2);
+ if(d1>4D)
+ {
+ this.motionX=(x0+x2)*0.5D-this.posX*1D;
+ this.motionY=(y0+y2)*0.5D-this.posY*1D;
+ this.motionZ=(z0+z2)*0.5D-this.posZ*1D;
+ if(nextAnchorEntity!=null && this.getDistanceSqToEntity(nextAnchorEntity)>4D)
+ {
+ this.nextAnchorEntity.addVelocity((this.posX-this.nextAnchorEntity.posX)*0.01D, (this.posY-this.nextAnchorEntity.posY)*0.01D, (this.posZ-this.nextAnchorEntity.posZ)*0.01D);
+ }
+ }
+ else
+ {
+ double d2 = this.getDistanceSq(x2,y2,z2);
+ if(d2>1D)
+ {
+ this.motionX+=(x2-this.posX)*0.1D;
+ this.motionY+=(y2-this.posY)*0.1D;
+ this.motionZ+=(z2-this.posZ)*0.1D;
+ }
+ double d3 = this.getDistanceSq(x0,y0,z0);
+ if(d3>1D)
+ {
+ this.motionX+=(x0-this.posX)*0.1D;
+ this.motionY+=(y0-this.posY)*0.1D;
+ this.motionZ+=(z0-this.posZ)*0.1D;
+ }
+ }
+ this.motionY-=0.005D;
+ }
+ }
+ if(this.onGround)
+ {
+ this.motionY *= -0.5D;
+ }
+ this.motionX*=0.9D;
+ this.motionY*=0.9D;
+ this.motionZ*=0.9D;
+ if(worldObj.isRemote)
+ {
+ float movvmentSpeed=0.05f;
+ this.renderPosX=this.renderPosX*(1f-movvmentSpeed)+(float) this.prevPosX*movvmentSpeed;
+ this.renderPosY=this.renderPosY*(1f-movvmentSpeed)+(float) this.prevPosY*movvmentSpeed;
+ this.renderPosZ=this.renderPosZ*(1f-movvmentSpeed)+(float) this.prevPosZ*movvmentSpeed;
+ float xi,yi,zi;
+ float x0=xi=(float)this.prevPosX;
+ float y0=yi=(float)this.prevPosY;
+ float z0=zi=(float)this.prevPosZ;
+ float dx0=this.dx0;
+ float dy0=this.dy0;
+ float dz0=this.dz0;
+ float dx1=this.virtualNodePosX-xi;
+ float dy1=this.virtualNodePosY-yi;
+ float dz1=this.virtualNodePosZ-zi;
+ if(this.nextAnchorEntity!=null)
+ {
+ dx1=(float) (this.nextAnchorEntity.prevPosX-xi);
+ dy1=(float) (this.nextAnchorEntity.prevPosY-yi);
+ dz1=(float) (this.nextAnchorEntity.prevPosZ-zi);
+ }
+ if(this.prevAnchorEntity==null)
+ {
+ this.renderPosX=x0=xi=this.virtualNodePosX;
+ this.renderPosY=y0=yi=this.virtualNodePosY;
+ this.renderPosZ=z0=zi=this.virtualNodePosZ;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ if(((NodeEntity)this.nextAnchorEntity).nextAnchorEntity!=null)
+ {
+ Entity nne = ((NodeEntity)this.nextAnchorEntity).nextAnchorEntity;
+ dx1=(float) (nne.prevPosX-xi);
+ dy1=(float) (nne.prevPosY-yi);
+ dz1=(float) (nne.prevPosZ-zi);
+ }
+ else
+ {
+ dx1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosX-xi);
+ dy1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosY-yi);
+ dz1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosZ-zi);
+ }
+ }
+ float x1=this.virtualNodePosX;
+ float y1=this.virtualNodePosY;
+ float z1=this.virtualNodePosZ;
+ if(this.nextAnchorEntity!=null)
+ {
+ x1=(float)this.nextAnchorEntity.prevPosX;
+ y1=(float)this.nextAnchorEntity.prevPosY;
+ z1=(float)this.nextAnchorEntity.prevPosZ;
+ }
+ int i1=0;
+ for(float i=1f/n;i<=1f+1f/n;i+=1f/n,i1++)
+ {
+ float dxi = xi;
+ float dyi = yi;
+ float dzi = zi;
+ xi=(dx1-2*x1+2*dx0+2*x0-dx0)*i*i*i+(3*x1-dx1-3*dx0-3*x0+dx0)*i*i+dx0*i+x0;
+ yi=(dy1-2*y1+2*dy0+2*y0-dy0)*i*i*i+(3*y1-dy1-3*dy0-3*y0+dy0)*i*i+dy0*i+y0;
+ zi=(dz1-2*z1+2*dz0+2*z0-dz0)*i*i*i+(3*z1-dz1-3*dz0-3*z0+dz0)*i*i+dz0*i+z0;
+ int blockX=(int)xi;
+ int blockY=(int)yi;
+ int blockZ=(int)zi;
+ dxi-=xi;
+ dyi-=yi;
+ dzi-=zi;
+ double var7 = MathHelper.sqrt_double(dxi * dxi + dzi * dzi);
+ float var9 = (float)(Math.atan2(dzi, dxi) * 180.0D / Math.PI) - 90.0F;
+ float var10 = (float)(-(Math.atan2(dyi, var7) * 180.0D / Math.PI));
+ float rotationPitch = (float) Math.atan2(dxi, dzi);
+ float rotationYaw = (float) (-Math.atan2(dyi, var7));
+ rotationPitchArray[i1]=rotationPitch;
+ rotationYawArray[i1]=rotationYaw;
+ translationX[i1]=dxi;
+ translationY[i1]=dyi;
+ translationZ[i1]=dzi;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ NodeEntity next = (NodeEntity) this.nextAnchorEntity;
+ next.dx0=dx1;
+ next.dy0=dy1;
+ next.dz0=dz1;
+ }
+ }
+ if(--this.checkTimer<=0)
+ {
+ if(!worldObj.isRemote)
+ {
+ WorldServer world = MinecraftServer.getServer().worldServerForDimension(this.anchorDimensionId);
+ TileEntity te = world.getTileEntity(this.anchorX, this.anchorY, this.anchorZ);
+ if(te==null || !(te instanceof ICableHolder || te instanceof AnchorTileEntity))
+ {
+ this.setDead();
+ }
+ }
+ this.checkTimer=200;
+ }
+ }
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound nbt)
+ {
+ this.noClip=nbt.getBoolean("noClip");
+ this.setChainUniqueID(nbt.getInteger("chainUniqueID"));
+ this.chainArrangeNumber=nbt.getInteger("chainArrangeNumber");
+ this.anchorX=nbt.getInteger("anchorX");
+ this.anchorY=nbt.getInteger("anchorY");
+ this.anchorZ=nbt.getInteger("anchorZ");
+ this.anchorFacing=nbt.getShort("anchorFacing");
+ this.anchorDimensionId=nbt.getInteger("anchorDimensionId");
+ this.type=nbt.getInteger("type");
+ this.colorIndex=nbt.getInteger("colorIndex");
+ if(nbt.hasKey("itemStack"))
+ {
+ NBTTagCompound stackTag = (NBTTagCompound) nbt.getTag("itemStack");
+ this.attachedItem = ItemStack.loadItemStackFromNBT(stackTag);
+ }
+ if(nbt.hasKey("width"))
+ {
+ this.setSize(nbt.getFloat("width"), nbt.getFloat("height"));
+ }
+ this.virtualNodePosX=nbt.getFloat("virtualNodePosX");
+ this.virtualNodePosY=nbt.getFloat("virtualNodePosY");
+ this.virtualNodePosZ=nbt.getFloat("virtualNodePosZ");
+ }
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound nbt)
+ {
+ nbt.setFloat("width", this.width);
+ nbt.setFloat("height", this.height);
+ nbt.setBoolean("noClip", noClip);
+ nbt.setInteger("chainUniqueID", this.getChainUniqueID());
+ nbt.setInteger("chainArrangeNumber", this.chainArrangeNumber);
+ nbt.setInteger("anchorX", this.anchorX);
+ nbt.setInteger("anchorY", this.anchorY);
+ nbt.setInteger("anchorZ", this.anchorZ);
+ nbt.setShort("anchorFacing",this.anchorFacing);
+ nbt.setInteger("anchorDimensionId",this.anchorDimensionId);
+ nbt.setInteger("type", this.type);
+ nbt.setInteger("colorIndex", this.colorIndex);
+ if(this.attachedItem!=null)
+ {
+ NBTTagCompound stackTag = new NBTTagCompound();
+ this.attachedItem.writeToNBT(stackTag);
+ nbt.setTag("itemStack",stackTag);
+ }
+ nbt.setFloat("virtualNodePosX",this.virtualNodePosX);
+ nbt.setFloat("virtualNodePosY",this.virtualNodePosY);
+ nbt.setFloat("virtualNodePosZ",this.virtualNodePosZ);
+ }
+
+ public void setAnchor(int x, int y, int z, short facing, int dimensionId)
+ {
+ this.anchorX=x;
+ this.anchorY=y;
+ this.anchorZ=z;
+ this.anchorFacing=facing;
+ this.anchorDimensionId=dimensionId;
+ }
+
+ public boolean playerHasItemStack(EntityPlayer player)
+ {
+ int var2;
+
+ for (var2 = 0; var2 < player.inventory.armorInventory.length; ++var2)
+ {
+ if (player.inventory.armorInventory[var2] != null && player.inventory.armorInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.armorInventory[var2].stackTagCompound==null?false:player.inventory.armorInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ for (var2 = 0; var2 < player.inventory.mainInventory.length; ++var2)
+ {
+ if (player.inventory.mainInventory[var2] != null && player.inventory.mainInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.mainInventory[var2].stackTagCompound==null?false:player.inventory.mainInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ return false;
+ }
+
+ public int getChainUniqueID() {
+ return chainUniqueID;
+ }
+
+ public void setChainUniqueID(int chainUniqueID) {
+ this.chainUniqueID = chainUniqueID;
+ }
+
+ @Override
+ public AxisAlignedBB getCollisionBox(Entity entity)
+ {
+ if(this.noClip)
+ {
+ return null;
+ }
+ else
+ {
+ return super.getCollisionBox(entity);
+ }
+ }
+
+ @Override
+ public int getId()
+ {
+ return this.getEntityId();
+ }
+
+ @Override
+ public void recieveData(ByteBufInputStream byteBufInputStream)
+ {
+ try
+ {
+ this.setChainUniqueID(byteBufInputStream.readInt());
+ this.chainArrangeNumber=byteBufInputStream.readInt();
+ this.type=byteBufInputStream.readByte();
+ this.colorIndex=byteBufInputStream.readInt();
+ this.virtualNodePosX=byteBufInputStream.readFloat();
+ this.virtualNodePosY=byteBufInputStream.readFloat();
+ this.virtualNodePosZ=byteBufInputStream.readFloat();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ public boolean isInvalid()
+ {
+ return this.isDead;
+ }
+
+ public void setVirtualNodePosToNearestPortal()
+ {
+ int x0 = (int)this.posX;
+ int y0 = (int)this.posY;
+ int z0 = (int)this.posZ;
+ for(int xi=x0-2;xi<=x0+2;xi++)
+ {
+ for(int yi=y0-2;yi<=y0+2;yi++)
+ {
+ for(int zi=z0-2;zi<=z0+2;zi++)
+ {
+ Block block = worldObj.getBlock(xi, yi, zi);
+ if(block==Blocks.portal||block==Blocks.end_portal)
+ {
+ this.setVirtualNodePos(xi+0.5f, yi+0.5f, zi+0.5f);
+ return;
+ }
+ }
+ }
+ }
+
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/401f465e708b0015134481ec712b17ae b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/401f465e708b0015134481ec712b17ae
new file mode 100644
index 0000000..691bc57
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/401f465e708b0015134481ec712b17ae
@@ -0,0 +1,207 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/4063232,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ public void onUpdate()
+ {
+ while(!this.isDead)
+ {
+ update();
+ }
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ this.setDead();
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/2010220b148e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/2010220b148e00151544f45b8684d31e
new file mode 100644
index 0000000..4f6f419
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/2010220b148e00151544f45b8684d31e
@@ -0,0 +1,318 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+
+public class ExplosionVector
+{
+ public Set<Long> startVectors = new HashSet();
+ public Map<Long,Set<Long>> vectors = new HashMap();
+ public Map<Long,Integer> explosionPower = new HashMap();
+ public Map<Long,Float> explosionPowerDampingFactor = new HashMap();
+ private Random random = new Random();
+
+ public ExplosionVector()
+ {
+ this.precalculateExplosion();
+ }
+
+ public void precalculateExplosion()
+ {
+ int maxExplosionRadius=32;
+ for(int levelRadius=1; levelRadius<maxExplosionRadius; levelRadius++)
+ {
+ for(int ix=-levelRadius;ix<=levelRadius;ix++)
+ {
+ for(int iy=-levelRadius;iy<=levelRadius;iy++)
+ {
+ for(int iz=-levelRadius;iz<=levelRadius;iz++)
+ {
+ {
+ long coordinateKey = IHLUtils.encodeXYZ(ix,iy,iz);
+ if(!vectors.containsKey(coordinateKey))
+ {
+ int prevX=ix;
+ int prevY=iy;
+ int prevZ=iz;
+ if(Math.abs(ix)+Math.abs(iy)+Math.abs(iz)>Math.round(levelRadius*1.8f))
+ {
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(ix)<=Math.abs(iy) && Math.abs(ix)<=Math.abs(iz))
+ {
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(iy)<=Math.abs(ix) && Math.abs(iy)<=Math.abs(iz))
+ {
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(iz)<=Math.abs(ix) && Math.abs(iz)<=Math.abs(iy))
+ {
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ }
+ long prevKey = IHLUtils.encodeXYZ(prevX,prevY,prevZ);
+ if(prevX==ix && prevY==iy && prevZ==iz && levelRadius>1)
+ {
+ IHLMod.log.error("Was:"+ix+"/" +iy+"/" +iz+"/");
+ IHLMod.log.error("Now:"+prevX+"/" +prevY+"/" +prevZ+"/");
+ throw new ArithmeticException("Variables are out of expected range. \n Expected are not equal: "+ix+"="+prevX+" "+iy+"="+prevY+" "+iz+"="+prevZ);
+ }
+ if(levelRadius==1)
+ {
+ startVectors.add(coordinateKey);
+ this.addElement(coordinateKey, prevX, prevY, prevZ, ix, iy, iz);
+ }
+ else if(vectors.containsKey(prevKey))
+ {
+ prevKey=this.getParentWithLowestDescendantsRate(prevKey, prevX, prevY, prevZ, levelRadius);
+ vectors.get(prevKey).add(coordinateKey);
+ this.addElement(coordinateKey, prevX, prevY, prevZ, ix, iy, iz);
+ }
+ else
+ {
+ IHLMod.log.error("Was:"+ix+"/" +iy+"/" +iz+"/");
+ IHLMod.log.error("Now:"+prevX+"/" +prevY+"/" +prevZ+"/");
+ IHLMod.log.info("ExplosionVector is missing parent! Help him!");
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private long getParentWithLowestDescendantsRate(long prevKey, int prevX, int prevY, int prevZ, int levelRadius)
+ {
+ long prevKey1 = prevKey;
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ int x2,y2,z2;
+ int descendantsRate=vectors.get(prevKey).size();
+ for(int i=0;i<=5;i++)
+ {
+ x2=prevX+xyzi[i];
+ y2=prevY+xyzi[i+2];
+ z2=prevZ+xyzi[i+1];
+ long newKey = IHLUtils.encodeXYZ(x2, y2, z2);
+ boolean atALevelRadius = (Math.abs(x2)==levelRadius-1||Math.abs(y2)==levelRadius-1||Math.abs(z2)==levelRadius-1)&&(Math.abs(x2)<levelRadius && Math.abs(y2)<levelRadius && Math.abs(z2)<levelRadius);
+ if(atALevelRadius && vectors.get(newKey).size()<descendantsRate)
+ {
+ descendantsRate=vectors.get(newKey).size();
+ prevKey1=newKey;
+ }
+ else if(atALevelRadius && vectors.get(newKey).size()==descendantsRate)
+ {
+ if(random.nextBoolean())
+ {
+ descendantsRate=vectors.get(newKey).size();
+ prevKey1=newKey;
+ }
+ }
+ }
+ return prevKey1;
+ }
+
+ private void addElement(long coordinateKey, int prevX, int prevY, int prevZ, int ix, int iy, int iz)
+ {
+ vectors.put(coordinateKey, new HashSet());
+ float df = (float)(prevX*prevX+prevY*prevY+prevZ*prevZ+1)/(float)(ix*ix+iy*iy+iz*iz+1);
+ explosionPowerDampingFactor.put(coordinateKey,df);
+ }
+
+ public void setPower(int power1)
+ {
+ for(long ev:startVectors)
+ {
+ this.explosionPower.put(ev, power1);
+ }
+
+ }
+
+ public Set<Long> breakBlocksAndGetDescendants(World world, EntityIHLExplosion exploder, Explosion explosion, long longNumber)
+ {
+ int multiplier = exploder.multiplier;
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int power1 = explosionPower.get(longNumber);
+ int repeat=0;
+ //System.out.println("Power before " + power1);
+ if(Math.abs(xyz[0])>=Math.abs(xyz[1]) && Math.abs(xyz[0])>=Math.abs(xyz[2]))
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ else if(Math.abs(xyz[1])>=Math.abs(xyz[0]) && Math.abs(xyz[1])>=Math.abs(xyz[2]))
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ else
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ power1=Math.round(power1*explosionPowerDampingFactor.get(longNumber)-0.5f);
+ //System.out.println("Power after " + power1 + " \n repeats "+repeat);
+ if(power1<=1 || !vectors.containsKey(longNumber)|| vectors.get(longNumber).isEmpty())
+ {
+ exploder.effectBorderBlocks.add(longNumber);
+ if(xyz[1]<0 || (exploder.y<=6 && xyz[1]<=6))
+ {
+ exploder.effectBorderBlocksWithLowPosition.add(longNumber);
+ }
+ return null;
+ }
+ else
+ {
+ for(long d1:vectors.get(longNumber))
+ {
+ explosionPower.put(d1, power1);
+ }
+ return vectors.get(longNumber);
+ }
+ }
+
+
+ public Set<Long> breakBlocksAndGetDescendantsForEBS(World world, EntityIHLExplosion exploder, Explosion explosion, long longNumber)
+ {
+ int multiplier = exploder.multiplier;
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int power1 = explosionPower.get(longNumber);
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ power1=Math.round(power1*explosionPowerDampingFactor.get(longNumber)-0.5f);
+ if(power1<=1 || !vectors.containsKey(longNumber)|| vectors.get(longNumber).isEmpty())
+ {
+ exploder.effectBorderBlocks.add(longNumber);
+ if(xyz[1]<0 || (exploder.y<=6 && xyz[1]<=6))
+ {
+ exploder.effectBorderBlocksWithLowPosition.add(longNumber);
+ }
+ return null;
+ }
+ else
+ {
+ for(long d1:vectors.get(longNumber))
+ {
+ explosionPower.put(d1, power1);
+ }
+ return vectors.get(longNumber);
+ }
+
+ }
+
+ private int reduceVariableByAbsoluteValue(int variable)
+ {
+ if(variable==0)
+ {
+ return 0;
+ }
+ else if(variable<0)
+ {
+ return variable+1;
+ }
+ else
+ {
+ return variable-1;
+ }
+ }
+
+ private int getNewPowerAndProcessBlocks(World world, EntityIHLExplosion exploder, Explosion explosion, int xyz[], int multiplier, int ix, int iy, int iz, int power2)
+ {
+ int power1=power2;
+ int x = exploder.x+xyz[0]*multiplier+ix;
+ int y = exploder.y+xyz[1]*multiplier+iy;
+ int z = exploder.z+xyz[2]*multiplier+iz;
+ if(y<=4 || y>256)
+ {
+ return 0;
+ }
+ Block block = exploder.getBlock(x, y, z);
+ int explosionResistance = Math.round(block.getExplosionResistance(exploder, world, x, y, z, exploder.x, exploder.y, exploder.z)*10f);
+ if(explosionResistance>=power1)
+ {
+ power1=0;
+ }
+ else
+ {
+ power1-=Math.round(block.getExplosionResistance(exploder, world, x, y, z, exploder.x, exploder.y, exploder.z)*10f);
+ Entity entity = exploder.getEntity(x, y, z);
+ if(entity!=null)
+ {
+ entity.attackEntityFrom(exploder.damageSource, power1/10f);
+ }
+ block.onBlockDestroyedByExplosion(world, x, y, z, explosion);
+ exploder.setBlockToAir(x, y, z);
+ }
+ return power1;
+ }
+
+ private int getNewPowerAndProcessBlocksEBS(World world, EntityIHLExplosion exploder, Explosion explosion, int xyz[], int multiplier, int ix, int iy, int iz, int power2)
+ {
+ int power1=power2;
+ int x = exploder.x+xyz[0]*multiplier+ix;
+ int y = exploder.y+xyz[1]*multiplier+iy;
+ int z = exploder.z+xyz[2]*multiplier+iz;
+ if(y<=4 || y>256)
+ {
+ return 0;
+ }
+ int explosionResistance = exploder.getEBSResistance(x, y, z);
+ if(explosionResistance>=power1)
+ {
+ power1=0;
+ }
+ else
+ {
+ power1-=Math.round(block.getExplosionResistance(exploder, world, x, y, z, exploder.x, exploder.y, exploder.z)*10f);
+ Entity entity = exploder.getEntity(x, y, z);
+ if(entity!=null)
+ {
+ entity.attackEntityFrom(exploder.damageSource, power1/10f);
+ }
+ block.onBlockDestroyedByExplosion(world, x, y, z, explosion);
+ exploder.setBlockToAir(x, y, z);
+ }
+ return power1;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/49/80b79e1a088e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/49/80b79e1a088e00151544f45b8684d31e
new file mode 100644
index 0000000..5697adc
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/49/80b79e1a088e00151544f45b8684d31e
@@ -0,0 +1,370 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public Map<Long,Integer> drops;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private ExtendedBlockStorage[][][] esbArray;
+ private int[][][] esbHardness;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.drops=new HashMap();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/16000,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.esbArray = new ExtendedBlockStorage[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ this.esbArray[var11 - this.chunkX][var12 - this.chunkZ] = var13.getBlockStorageArray();
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ private void precalculateESBHardness()
+ {
+ for(int x1=0;x1<this.esbArray.length;x1++)
+ {
+ ExtendedBlockStorage[][] esb3 = this.esbArray[x1];
+ for(int z2=0;z2<esb3.length;z2++)
+ {
+ ExtendedBlockStorage[] esb2 = esb3[z2];
+ for(int y3=0;y3<esb2.length;y3++)
+ {
+ ExtendedBlockStorage esb = esb2[y3];
+ if(esb.isEmpty())
+ {
+ this.esbHardness[x1][z2][y3]=0;
+ }
+ else
+ {
+ byte[] lbsArray = esb.getBlockLSBArray();
+ for(int i4=0;i4<lbsArray.length;i4++)
+ {
+ int var4 = lbsArray[i4] & 255;
+
+ if (esb.getBlockMSBArray() != null)
+ {
+ var4 |= esb.getBlockMSBArray().get(i4>>8, (i4>>4) & 4095, i4 & 4095) << 8;
+ }
+ this.esbHardness[x1][z2][y3]+=Math.round(Block.getBlockById(var4).getExplosionResistance(this, worldObj, (i4>>8)+(x1<<4), ((i4>>4) & 4095)+(y3<<4), (i4 & 4095)+(z2<<4), this.x, this.y, this.z)*10f);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ boolean hasSomeBlocksStickedToAir=false;
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ while(ebbi.hasNext())
+ {
+ long longNumber = ebbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(!this.isBlockConnectedWithBedrock(longNumber))
+ {
+ hasSomeBlocksStickedToAir=true;
+ }
+ }
+ }
+ Iterator<Long> bnctbi = this.blocksNotConnectedWithBedrock.iterator();
+ while(bnctbi.hasNext())
+ {
+ long longNumber5 = bnctbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber5);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ float bh = block.getBlockHardness(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(bh>=0f && bh<Float.MAX_VALUE)
+ {
+ block.onBlockDestroyedByExplosion(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], explosion);
+ this.setBlockToAir(x, y, z);
+ }
+ }
+
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+ }
+ }
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4d/60b1517d5da3001518cde17cb509661c b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4d/60b1517d5da3001518cde17cb509661c
new file mode 100644
index 0000000..2a66c48
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4d/60b1517d5da3001518cde17cb509661c
@@ -0,0 +1,128 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+ InputStream in = IHLMod.class.getResourceAsStream("/assets/ihl/config/ihl-guidebook.xml");
+ InputStreamReader isReader = new InputStreamReader(in, "UTF-8");
+ LineNumberReader reader = new LineNumberReader(isReader);
+ OutputStreamWriter osWriter = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
+ BufferedWriter writer = new BufferedWriter(osWriter);
+ String line;
+ while ((line = reader.readLine()) != null)
+ {
+ writer.append(line);
+ writer.newLine();
+ }
+ writer.close();
+ osWriter.close();
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4f/a08480c30bb300151351fd9e9a996bbe b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4f/a08480c30bb300151351fd9e9a996bbe
new file mode 100644
index 0000000..6effb9d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4f/a08480c30bb300151351fd9e9a996bbe
@@ -0,0 +1,162 @@
+package ihl.flexible_cable;
+
+import ihl.IHLMod;
+import ihl.interfaces.IEnergyNetNode;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.nbt.NBTTagCompound;
+
+public class IHLENet {
+
+ public Map<Integer, IHLGrid> grids = new HashMap();
+ public Map<Integer, Set<NodeEntity>> nodeEntityRegistry = new HashMap();
+ public Map<Integer, IHLGrid> cablesToGrids = new HashMap();
+
+ private int griduid=0;
+
+ public IHLENet()
+ {
+ }
+
+ public int getNewUniqueGridID()
+ {
+ for(int i=0;i<Integer.MAX_VALUE;i++)
+ {
+ if(grids.get(++griduid)==null)
+ {
+ return griduid;
+ }
+ }
+ return -1;
+ }
+
+ public int mergeGrids(int gridID, int gridID2)
+ {
+ if(gridID==-1 && gridID2!=-1)
+ {
+ return gridID2;
+ }
+ else if(gridID!=-1 && gridID2==-1)
+ {
+ return gridID;
+ }
+ else if(gridID==-1 && gridID2==-1)
+ {
+ int newGridID=this.getNewUniqueGridID();
+ IHLGrid cgrid;
+ cgrid=new IHLGrid();
+ grids.put(newGridID, cgrid);
+ return newGridID;
+ }
+ else if(gridID!=gridID2)
+ {
+ Iterator<IEnergyNetNode> tei = grids.get(gridID2).telist.iterator();
+ while(tei.hasNext())
+ {
+ IEnergyNetNode te = tei.next();
+ te.setGrid(gridID);
+ }
+ grids.remove(gridID2);
+ return gridID;
+ }
+ return gridID2;
+ }
+
+
+ public IHLGrid getGrid(int gridID)
+ {
+ if(this.grids.get(gridID)==null)
+ {
+ IHLGrid cgrid;
+ cgrid=new IHLGrid();
+ grids.put(gridID, cgrid);
+ return cgrid;
+ }
+ else
+ {
+ return this.grids.get(gridID);
+ }
+ }
+
+ public void splitGrids(int gridID, IEnergyNetNode exclude)
+ {
+ Set<IEnergyNetNode> telist = this.grids.get(gridID).telist;
+ telist.remove(exclude);
+ Iterator<IEnergyNetNode> atei = telist.iterator();
+ while(atei.hasNext())
+ {
+ IEnergyNetNode cte = atei.next();
+ cte.getCableList().removeAll(exclude.getCableList());
+ cte.setGrid(-1);
+ }
+ Iterator<IEnergyNetNode> atei2 = telist.iterator();
+ while(atei2.hasNext())
+ {
+ IEnergyNetNode cte = atei2.next();
+ if(cte.getGridID()==-1)//Warning! Potential future bugs are hidden here!
+ {
+ Iterator<IEnergyNetNode> atei3 = telist.iterator();
+ while(atei3.hasNext())
+ {
+ IEnergyNetNode cte2 = atei3.next();
+ if(cte2!=cte && hasSame(cte.getCableList(),cte2.getCableList()))
+ {
+ int result=this.mergeGrids(cte.getGridID(), cte2.getGridID());
+ cte.setGrid(result);
+ cte2.setGrid(result);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ public void removeCableAndSplitGrids(int gridID, NBTTagCompound cable)
+ {
+ this.grids.get(gridID).removeCableAndSplitGrids(cable);
+ }
+
+ public boolean hasSame(Set<NBTTagCompound> set, Set<NBTTagCompound> set2)
+ {
+ Iterator<NBTTagCompound> i1 = set.iterator();
+ while(i1.hasNext())
+ {
+ NBTTagCompound num1=i1.next();
+ if(set2.contains(num1))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void setOnFire(NBTTagCompound cable)
+ {
+ Set<NodeEntity> cs = this.nodeEntityRegistry.get(cable.getInteger("chainUID"));
+ for(NodeEntity ne:cs)
+ {
+ ne.setFire(10);
+ }
+ }
+
+ public void removeCableEntities(NBTTagCompound cable)
+ {
+ int uid = cable.getInteger("chainUID");
+ Set<NodeEntity> cs = this.nodeEntityRegistry.get(uid);
+ if(cs!=null)
+ {
+ for(NodeEntity ne:cs)
+ {
+ if(ne!=null)
+ {
+ ne.setDead();
+ }
+ }
+ }
+ cablesToGrids.remove(uid);
+ }
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/53/7096612146a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/53/7096612146a3001516ebc455efc032e5
new file mode 100644
index 0000000..b89f929
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/53/7096612146a3001516ebc455efc032e5
@@ -0,0 +1,101 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.File;
+import java.io.IOException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile()
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ return new File(folder, "ihl-guidebook.xml");
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/e0c732e253a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/e0c732e253a3001516ebc455efc032e5
new file mode 100644
index 0000000..9bdd6e9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/e0c732e253a3001516ebc455efc032e5
@@ -0,0 +1,120 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+// File fileFrom = new File(IHLMod.proxy.getMinecraftDir(),"/assets/ihl/config/ihl-guidebook.xml");
+ File fileFrom = new File(IHLMod.class.getResource("/assets/ihl/config/ihl-guidebook.xml").getFile());
+ if(!fileFrom.exists())
+ {
+ fileFrom = new File(IHLMod.class.getResource("../src/main/java/assets/ihl/config/ihl-guidebook.xml").getFile());
+ }
+ Files.copy(fileFrom, file);
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/600afeecd8b20015115782a55d40af78 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/600afeecd8b20015115782a55d40af78
new file mode 100644
index 0000000..d0a51d7
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/600afeecd8b20015115782a55d40af78
@@ -0,0 +1,395 @@
+package ihl.flexible_cable;
+
+import ic2.api.energy.EnergyNet;
+import ic2.api.energy.event.EnergyTileLoadEvent;
+import ic2.api.energy.event.EnergyTileUnloadEvent;
+import ic2.api.energy.tile.IEnergySink;
+import ic2.api.energy.tile.IEnergySource;
+import ic2.core.ExplosionIC2;
+import ic2.core.IC2;
+import ic2.core.block.TileEntityBlock;
+import ihl.IHLMod;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.utils.IHLUtils;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.world.World;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.util.ForgeDirection;
+
+public class AnchorTileEntity extends TileEntityBlock implements IEnergySink, IEnergySource
+{
+ public boolean addedToEnergyNet=false;
+ private final Set<TileEntity> sacrifices = new HashSet<TileEntity>();
+ public SubAnchorEnergyNetNode[] energyNetNodes = new SubAnchorEnergyNetNode[6];
+ public boolean[] hasCableOnSide=new boolean [] {false,false,false,false,false,false};
+ public int checksum=-1;
+
+ public AnchorTileEntity()
+ {
+ super();
+ for(short i=0;i<6;i++)
+ {
+ energyNetNodes[i] = new SubAnchorEnergyNetNode(this, i);
+ }
+ }
+
+ @Override
+ public List<String> getNetworkedFields()
+ {
+ List<String> fields = super.getNetworkedFields();
+ fields.add("hasCableOnSide");
+ return fields;
+ }
+
+ @Override
+ public void onLoaded()
+ {
+ super.onLoaded();
+ if (IC2.platform.isSimulating()&&!this.addedToEnergyNet)
+ {
+ MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this));
+ this.addedToEnergyNet = true;
+ }
+ for(short i=0;i<6;i++)
+ {
+ energyNetNodes[i].onLoaded();
+ }
+ }
+
+ @Override
+ public void onUnloaded()
+ {
+ if (IC2.platform.isSimulating())
+ {
+ if(this.addedToEnergyNet)
+ {
+ MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this));
+ this.addedToEnergyNet = false;
+ }
+ }
+ }
+
+ @Override
+ public boolean wrenchCanRemove(EntityPlayer var1)
+ {
+ return false;
+ }
+
+ public boolean enableUpdateEntity()
+ {
+ return IC2.platform.isSimulating();
+ }
+
+ @Override
+ public void updateEntityServer()
+ {
+ if(!sacrifices.isEmpty())
+ {
+ Iterator<TileEntity> victimIterator = sacrifices.iterator();
+ while(victimIterator.hasNext())
+ {
+ TileEntity sacrifice = victimIterator.next();
+ ExplosionIC2 explosion = new ExplosionIC2(this.worldObj, null, sacrifice.xCoord+0.5D, sacrifice.yCoord+0.5D, sacrifice.zCoord+0.5D, 3F, 0.3F, ExplosionIC2.Type.Normal, null, 0);
+ explosion.doExplosion();
+ sacrifices.remove(sacrifice);
+ }
+
+ }
+ int newchecksum=0;
+ for(short i=0;i<6;i++)
+ {
+ if(this.hasCableOnSide[i])
+ {
+ newchecksum++;
+ }
+ }
+ if(newchecksum!=checksum)
+ {
+ IC2.network.get().updateTileEntityField(this, "hasCableOnSide");
+ checksum=newchecksum;
+ }
+ else if(newchecksum==0)
+ {
+ for(short i=0;i<6;i++)
+ {
+ if(!this.energyNetNodes[i].getCableList().isEmpty())
+ {
+ newchecksum++;
+ }
+ }
+ //if(newchecksum==0)worldObj.setBlockToAir(xCoord, yCoord, zCoord);
+ }
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound nbt) {
+ super.writeToNBT(nbt);
+ NBTTagList energyNetNodeNBTList = new NBTTagList();
+ for(SubAnchorEnergyNetNode node:this.energyNetNodes)
+ {
+ energyNetNodeNBTList.appendTag(node.writeToNBT());
+ }
+ nbt.setTag("energyNetNodes", energyNetNodeNBTList);
+ if(nbt.hasKey("facing"))
+ {
+ nbt.removeTag("facing");
+ }
+ }
+
+ @Override
+ public void readFromNBT(NBTTagCompound nbt) {
+ super.readFromNBT(nbt);
+ if(nbt.hasKey("facing"))
+ {
+ short facing = nbt.getShort("facing");
+ int gridID=nbt.getInteger("gridID");
+ this.energyNetNodes[facing].setGrid(gridID);
+ NBTTagList cableNBTList=nbt.getTagList("cableList", 10);
+ for(int i=0;i<cableNBTList.tagCount();i++)
+ {
+ this.energyNetNodes[facing].addCable(cableNBTList.getCompoundTagAt(i));
+ }
+ }
+ else
+ {
+ NBTTagList energyNetNodeNBTList=nbt.getTagList("energyNetNodes", 10);
+ for(int i=0;i<6;i++)
+ {
+ this.energyNetNodes[i].readFromNBT(energyNetNodeNBTList.getCompoundTagAt(i));
+ }
+ }
+ }
+
+ @Override
+ public void setFacing(short facing)
+ {
+ System.out.println("facing="+facing);
+ this.energyNetNodes[facing].removeAttachedChains();
+ boolean removeTE=true;
+ for(short i=0;i<6;i++)
+ {
+ if(!energyNetNodes[i].getCableList().isEmpty())
+ {
+ System.out.println("not empty="+i);
+ removeTE=false;
+ }
+ }
+ if(removeTE)
+ {
+ worldObj.setBlockToAir(xCoord, yCoord, zCoord);
+ }
+ }
+
+ @Override
+ public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction)
+ {
+ switch(direction)
+ {
+ case UP:
+ return this.energyNetNodes[0].getGridID()!=-1;
+ case DOWN:
+ return this.energyNetNodes[1].getGridID()!=-1;
+ case SOUTH:
+ return this.energyNetNodes[2].getGridID()!=-1;
+ case NORTH:
+ return this.energyNetNodes[3].getGridID()!=-1;
+ case EAST:
+ return this.energyNetNodes[4].getGridID()!=-1;
+ case WEST:
+ return this.energyNetNodes[5].getGridID()!=-1;
+ default:
+ return false;
+ }
+ }
+
+ @Override
+ public boolean emitsEnergyTo(TileEntity receiver, ForgeDirection direction)
+ {
+ return this.acceptsEnergyFrom(receiver, direction);
+ }
+
+ @Override
+ public double getOfferedEnergy()
+ {
+ double offeredEnergy=0d;
+ for(short i=0;i<6;i++)
+ {
+ offeredEnergy+=energyNetNodes[i].getOfferedEnergy();
+ }
+ return offeredEnergy;
+ }
+
+ @Override
+ public void drawEnergy(double amount)
+ {
+ for(short i=0;i<6;i++)
+ {
+ amount-=energyNetNodes[i].drawEnergy(amount);
+ double voltage = energyNetNodes[i].getVoltage();
+ if(voltage>500D)
+ {
+ Set<TileEntity> teset = new HashSet<TileEntity>();
+ ForgeDirection direction = ForgeDirection.getOrientation(i).getOpposite();
+ TileEntity te = EnergyNet.instance.getNeighbor(this, direction);
+ teset.add(te);
+ TileEntity te1 = this.getSink(te, teset);
+ if(te1 instanceof IEnergyNetNode)
+ {
+ if(((IEnergyNetNode)te1).getMaxAllowableVoltage()>=voltage)
+ {
+ return;
+ }
+ }
+ if(te1!=null)
+ {
+ sacrifices.add(te1);
+ }
+ }
+ if(amount<=0d)
+ {
+ break;
+ }
+ }
+ }
+
+ @Override
+ public int getSourceTier() {
+ return 4;
+ }
+
+ @Override
+ public double getDemandedEnergy()
+ {
+ double amount=0d;
+ for(short i=0;i<6;i++)
+ {
+ amount+=energyNetNodes[i].getDemandedEnergy();
+ }
+ return amount;
+ }
+
+ @Override
+ public int getSinkTier() {
+ return 4;
+ }
+
+ @Override
+ public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) {
+ if (directionFrom.flag>5 || this.energyNetNodes[directionFrom.flag].getGridID()==-1 || this.energyNetNodes[directionFrom.flag].getGrid().energy > 1D)
+ {
+ return amount;
+ }
+ else
+ {
+ this.energyNetNodes[directionFrom.flag].getGrid().injectEnergy(amount, 400D, this.energyNetNodes[directionFrom.flag]);
+ return 0.0D;
+ }
+ }
+
+ @Override
+ public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
+ {
+ return null;
+ }
+
+ @Override
+ public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side)
+ {
+ return !this.wrenchCanRemove(entityPlayer);
+ }
+
+ private TileEntity getSink(TileEntity te, Set<TileEntity> teset)
+ {
+ teset.add(te);
+ while(te!=null && !(te instanceof IEnergySink))
+ {
+ TileEntity te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.NORTH);
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.SOUTH);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.UP);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.DOWN);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.WEST);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.EAST);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1!=null)
+ {
+ teset.add(te1);
+ }
+ te=te1;
+ }
+ if(te instanceof IEnergySink)
+ {
+ return te;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/63/b026503b5ea3001518cde17cb509661c b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/63/b026503b5ea3001518cde17cb509661c
new file mode 100644
index 0000000..67d246b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/63/b026503b5ea3001518cde17cb509661c
@@ -0,0 +1,141 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(IHLMod.class.getResourceAsStream("/assets/ihl/config/ihl-guidebook.xml"));
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+ InputStream in = IHLMod.class.getResourceAsStream("/assets/ihl/config/ihl-guidebook.xml");
+ InputStreamReader isReader = new InputStreamReader(in, "UTF-8");
+ LineNumberReader reader = new LineNumberReader(isReader);
+ OutputStreamWriter osWriter = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
+ BufferedWriter writer = new BufferedWriter(osWriter);
+ String line;
+ while ((line = reader.readLine()) != null)
+ {
+ writer.append(line);
+ writer.newLine();
+ }
+ writer.close();
+ osWriter.close();
+ in = IHLMod.class.getResourceAsStream("/assets/ihl/config/adress.xsd");
+ isReader = new InputStreamReader(in, "UTF-8");
+ reader = new LineNumberReader(isReader);
+ file = new File(folder, "adress.xsd");
+ osWriter = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
+ writer = new BufferedWriter(osWriter);
+ while ((line = reader.readLine()) != null)
+ {
+ writer.append(line);
+ writer.newLine();
+ }
+ writer.close();
+ osWriter.close();
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/a0f3e06d7d8b0015134481ec712b17ae b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/a0f3e06d7d8b0015134481ec712b17ae
new file mode 100644
index 0000000..2777b01
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/a0f3e06d7d8b0015134481ec712b17ae
@@ -0,0 +1,315 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/4063232,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ boolean hasSomeBlocksStickedToAir=false;
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ while(ebbi.hasNext())
+ {
+ long longNumber = ebbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(this.isBlockConnectedWithBedrock(longNumber))
+ {
+ hasSomeBlocksStickedToAir=true;
+ }
+ }
+ }
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+ }
+ }
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/2052af7b0b8e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/2052af7b0b8e00151544f45b8684d31e
new file mode 100644
index 0000000..de861df
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/2052af7b0b8e00151544f45b8684d31e
@@ -0,0 +1,371 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public Map<Long,Integer> drops;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private ExtendedBlockStorage[][][] esbArray;
+ private int[][][] esbHardness;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.drops=new HashMap();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/16000,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.esbArray = new ExtendedBlockStorage[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ this.esbArray[var11 - this.chunkX][var12 - this.chunkZ] = var13.getBlockStorageArray();
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ this.precalculateESBHardness();
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ private void precalculateESBHardness()
+ {
+ for(int x1=0;x1<this.esbArray.length;x1++)
+ {
+ ExtendedBlockStorage[][] esb3 = this.esbArray[x1];
+ for(int z2=0;z2<esb3.length;z2++)
+ {
+ ExtendedBlockStorage[] esb2 = esb3[z2];
+ for(int y3=0;y3<esb2.length;y3++)
+ {
+ ExtendedBlockStorage esb = esb2[y3];
+ if(esb.isEmpty())
+ {
+ this.esbHardness[x1][z2][y3]=0;
+ }
+ else
+ {
+ byte[] lbsArray = esb.getBlockLSBArray();
+ for(int i4=0;i4<lbsArray.length;i4++)
+ {
+ int var4 = lbsArray[i4] & 255;
+
+ if (esb.getBlockMSBArray() != null)
+ {
+ var4 |= esb.getBlockMSBArray().get(i4>>8, (i4>>4) & 4095, i4 & 4095) << 8;
+ }
+ this.esbHardness[x1][z2][y3]+=Math.round(Block.getBlockById(var4).getExplosionResistance(this, worldObj, (i4>>8)+(x1<<4), ((i4>>4) & 4095)+(y3<<4), (i4 & 4095)+(z2<<4), this.x, this.y, this.z)*10f);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ boolean hasSomeBlocksStickedToAir=false;
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ while(ebbi.hasNext())
+ {
+ long longNumber = ebbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(!this.isBlockConnectedWithBedrock(longNumber))
+ {
+ hasSomeBlocksStickedToAir=true;
+ }
+ }
+ }
+ Iterator<Long> bnctbi = this.blocksNotConnectedWithBedrock.iterator();
+ while(bnctbi.hasNext())
+ {
+ long longNumber5 = bnctbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber5);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ float bh = block.getBlockHardness(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(bh>=0f && bh<Float.MAX_VALUE)
+ {
+ block.onBlockDestroyedByExplosion(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], explosion);
+ this.setBlockToAir(x, y, z);
+ }
+ }
+
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+ }
+ }
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/3026c575748b0015134481ec712b17ae b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/3026c575748b0015134481ec712b17ae
new file mode 100644
index 0000000..c88afeb
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/3026c575748b0015134481ec712b17ae
@@ -0,0 +1,307 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/4063232,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ long longNumber = ebbi.next();
+ ebbi.remove();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(this.isBlockConnectedWithBedrock(longNumber))
+ {
+
+ }
+ }
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/40b9d805088e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/40b9d805088e00151544f45b8684d31e
new file mode 100644
index 0000000..deab651
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/40b9d805088e00151544f45b8684d31e
@@ -0,0 +1,364 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public Map<Long,Integer> drops;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private ExtendedBlockStorage[][][] esbArray;
+ private int[][][] esbHardness;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.drops=new HashMap();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/16000,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.esbArray = new ExtendedBlockStorage[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ this.esbArray[var11 - this.chunkX][var12 - this.chunkZ] = var13.getBlockStorageArray();
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ private void precalculateESBHardness()
+ {
+ for(int x1=0;x1<this.esbArray.length;x1++)
+ {
+ ExtendedBlockStorage[][] esb3 = this.esbArray[x1];
+ for(int z2=0;z2<esb3.length;z2++)
+ {
+ ExtendedBlockStorage[] esb2 = esb3[z2];
+ for(int y3=0;y3<esb2.length;y3++)
+ {
+ ExtendedBlockStorage esb = esb2[y3];
+ if(esb.isEmpty())
+ {
+ this.esbHardness[x1][z2][y3]=0;
+ }
+ else
+ {
+ byte[] lbsArray = esb.getBlockLSBArray();
+ for(int i4=0;i4<lbsArray.length;i4++)
+ {
+
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ boolean hasSomeBlocksStickedToAir=false;
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ while(ebbi.hasNext())
+ {
+ long longNumber = ebbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(!this.isBlockConnectedWithBedrock(longNumber))
+ {
+ hasSomeBlocksStickedToAir=true;
+ }
+ }
+ }
+ Iterator<Long> bnctbi = this.blocksNotConnectedWithBedrock.iterator();
+ while(bnctbi.hasNext())
+ {
+ long longNumber5 = bnctbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber5);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ float bh = block.getBlockHardness(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(bh>=0f && bh<Float.MAX_VALUE)
+ {
+ block.onBlockDestroyedByExplosion(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], explosion);
+ this.setBlockToAir(x, y, z);
+ }
+ }
+
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+ }
+ }
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/106e4eb2158e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/106e4eb2158e00151544f45b8684d31e
new file mode 100644
index 0000000..3d4d821
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/106e4eb2158e00151544f45b8684d31e
@@ -0,0 +1,321 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
+
+public class ExplosionVector
+{
+ public Set<Long> startVectors = new HashSet();
+ public Map<Long,Set<Long>> vectors = new HashMap();
+ public Map<Long,Integer> explosionPower = new HashMap();
+ public Map<Long,Float> explosionPowerDampingFactor = new HashMap();
+ private Random random = new Random();
+
+ public ExplosionVector()
+ {
+ this.precalculateExplosion();
+ }
+
+ public void precalculateExplosion()
+ {
+ int maxExplosionRadius=32;
+ for(int levelRadius=1; levelRadius<maxExplosionRadius; levelRadius++)
+ {
+ for(int ix=-levelRadius;ix<=levelRadius;ix++)
+ {
+ for(int iy=-levelRadius;iy<=levelRadius;iy++)
+ {
+ for(int iz=-levelRadius;iz<=levelRadius;iz++)
+ {
+ {
+ long coordinateKey = IHLUtils.encodeXYZ(ix,iy,iz);
+ if(!vectors.containsKey(coordinateKey))
+ {
+ int prevX=ix;
+ int prevY=iy;
+ int prevZ=iz;
+ if(Math.abs(ix)+Math.abs(iy)+Math.abs(iz)>Math.round(levelRadius*1.8f))
+ {
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(ix)<=Math.abs(iy) && Math.abs(ix)<=Math.abs(iz))
+ {
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(iy)<=Math.abs(ix) && Math.abs(iy)<=Math.abs(iz))
+ {
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(iz)<=Math.abs(ix) && Math.abs(iz)<=Math.abs(iy))
+ {
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ }
+ long prevKey = IHLUtils.encodeXYZ(prevX,prevY,prevZ);
+ if(prevX==ix && prevY==iy && prevZ==iz && levelRadius>1)
+ {
+ IHLMod.log.error("Was:"+ix+"/" +iy+"/" +iz+"/");
+ IHLMod.log.error("Now:"+prevX+"/" +prevY+"/" +prevZ+"/");
+ throw new ArithmeticException("Variables are out of expected range. \n Expected are not equal: "+ix+"="+prevX+" "+iy+"="+prevY+" "+iz+"="+prevZ);
+ }
+ if(levelRadius==1)
+ {
+ startVectors.add(coordinateKey);
+ this.addElement(coordinateKey, prevX, prevY, prevZ, ix, iy, iz);
+ }
+ else if(vectors.containsKey(prevKey))
+ {
+ prevKey=this.getParentWithLowestDescendantsRate(prevKey, prevX, prevY, prevZ, levelRadius);
+ vectors.get(prevKey).add(coordinateKey);
+ this.addElement(coordinateKey, prevX, prevY, prevZ, ix, iy, iz);
+ }
+ else
+ {
+ IHLMod.log.error("Was:"+ix+"/" +iy+"/" +iz+"/");
+ IHLMod.log.error("Now:"+prevX+"/" +prevY+"/" +prevZ+"/");
+ IHLMod.log.info("ExplosionVector is missing parent! Help him!");
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private long getParentWithLowestDescendantsRate(long prevKey, int prevX, int prevY, int prevZ, int levelRadius)
+ {
+ long prevKey1 = prevKey;
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ int x2,y2,z2;
+ int descendantsRate=vectors.get(prevKey).size();
+ for(int i=0;i<=5;i++)
+ {
+ x2=prevX+xyzi[i];
+ y2=prevY+xyzi[i+2];
+ z2=prevZ+xyzi[i+1];
+ long newKey = IHLUtils.encodeXYZ(x2, y2, z2);
+ boolean atALevelRadius = (Math.abs(x2)==levelRadius-1||Math.abs(y2)==levelRadius-1||Math.abs(z2)==levelRadius-1)&&(Math.abs(x2)<levelRadius && Math.abs(y2)<levelRadius && Math.abs(z2)<levelRadius);
+ if(atALevelRadius && vectors.get(newKey).size()<descendantsRate)
+ {
+ descendantsRate=vectors.get(newKey).size();
+ prevKey1=newKey;
+ }
+ else if(atALevelRadius && vectors.get(newKey).size()==descendantsRate)
+ {
+ if(random.nextBoolean())
+ {
+ descendantsRate=vectors.get(newKey).size();
+ prevKey1=newKey;
+ }
+ }
+ }
+ return prevKey1;
+ }
+
+ private void addElement(long coordinateKey, int prevX, int prevY, int prevZ, int ix, int iy, int iz)
+ {
+ vectors.put(coordinateKey, new HashSet());
+ float df = (float)(prevX*prevX+prevY*prevY+prevZ*prevZ+1)/(float)(ix*ix+iy*iy+iz*iz+1);
+ explosionPowerDampingFactor.put(coordinateKey,df);
+ }
+
+ public void setPower(int power1)
+ {
+ for(long ev:startVectors)
+ {
+ this.explosionPower.put(ev, power1);
+ }
+
+ }
+
+ public Set<Long> breakBlocksAndGetDescendants(World world, EntityIHLExplosion exploder, Explosion explosion, long longNumber)
+ {
+ int multiplier = exploder.multiplier;
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int power1 = explosionPower.get(longNumber);
+ int repeat=0;
+ //System.out.println("Power before " + power1);
+ if(Math.abs(xyz[0])>=Math.abs(xyz[1]) && Math.abs(xyz[0])>=Math.abs(xyz[2]))
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ else if(Math.abs(xyz[1])>=Math.abs(xyz[0]) && Math.abs(xyz[1])>=Math.abs(xyz[2]))
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ else
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ power1=Math.round(power1*explosionPowerDampingFactor.get(longNumber)-0.5f);
+ //System.out.println("Power after " + power1 + " \n repeats "+repeat);
+ if(power1<=1 || !vectors.containsKey(longNumber)|| vectors.get(longNumber).isEmpty())
+ {
+ exploder.effectBorderBlocks.add(longNumber);
+ if(xyz[1]<0 || (exploder.y<=6 && xyz[1]<=6))
+ {
+ exploder.effectBorderBlocksWithLowPosition.add(longNumber);
+ }
+ return null;
+ }
+ else
+ {
+ for(long d1:vectors.get(longNumber))
+ {
+ explosionPower.put(d1, power1);
+ }
+ return vectors.get(longNumber);
+ }
+ }
+
+
+ public Set<Long> breakBlocksAndGetDescendantsForEBS(World world, EntityIHLExplosion exploder, Explosion explosion, long longNumber)
+ {
+ int multiplier = exploder.multiplier;
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int power1 = explosionPower.get(longNumber);
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ power1=Math.round(power1*explosionPowerDampingFactor.get(longNumber)-0.5f);
+ if(power1<=1 || !vectors.containsKey(longNumber)|| vectors.get(longNumber).isEmpty())
+ {
+ exploder.effectBorderBlocks.add(longNumber);
+ if(xyz[1]<0 || (exploder.y<=6 && xyz[1]<=6))
+ {
+ exploder.effectBorderBlocksWithLowPosition.add(longNumber);
+ }
+ return null;
+ }
+ else
+ {
+ for(long d1:vectors.get(longNumber))
+ {
+ explosionPower.put(d1, power1);
+ }
+ return vectors.get(longNumber);
+ }
+
+ }
+
+ private int reduceVariableByAbsoluteValue(int variable)
+ {
+ if(variable==0)
+ {
+ return 0;
+ }
+ else if(variable<0)
+ {
+ return variable+1;
+ }
+ else
+ {
+ return variable-1;
+ }
+ }
+
+ private int getNewPowerAndProcessBlocks(World world, EntityIHLExplosion exploder, Explosion explosion, int xyz[], int multiplier, int ix, int iy, int iz, int power2)
+ {
+ int power1=power2;
+ int x = exploder.x+xyz[0]*multiplier+ix;
+ int y = exploder.y+xyz[1]*multiplier+iy;
+ int z = exploder.z+xyz[2]*multiplier+iz;
+ if(y<=4 || y>256)
+ {
+ return 0;
+ }
+ Block block = exploder.getBlock(x, y, z);
+ int explosionResistance = Math.round(block.getExplosionResistance(exploder, world, x, y, z, exploder.x, exploder.y, exploder.z)*10f);
+ if(explosionResistance>=power1)
+ {
+ power1=0;
+ }
+ else
+ {
+ power1-=Math.round(block.getExplosionResistance(exploder, world, x, y, z, exploder.x, exploder.y, exploder.z)*10f);
+ Entity entity = exploder.getEntity(x, y, z);
+ if(entity!=null)
+ {
+ entity.attackEntityFrom(exploder.damageSource, power1/10f);
+ }
+ block.onBlockDestroyedByExplosion(world, x, y, z, explosion);
+ exploder.setBlockToAir(x, y, z);
+ }
+ return power1;
+ }
+
+ private int getNewPowerAndProcessBlocksEBS(World world, EntityIHLExplosion exploder, Explosion explosion, int xyz[],int power2)
+ {
+ int power1=power2;
+ int x = xyz[0] + (exploder.areaSize>>4);
+ int y = xyz[1];
+ int z = xyz[2] + (exploder.areaSize>>4);
+ if(y<0 || y>16)
+ {
+ return 0;
+ }
+ int explosionResistance = exploder.getEBSResistance(x, y, z);
+ if(explosionResistance>=power1)
+ {
+ power1=0;
+ }
+ else
+ {
+ power1-=explosionResistance;
+ exploder.esbArray[x][z][y].;
+ Entity entity = exploder.getEntity(x, y, z);
+ if(entity!=null)
+ {
+ entity.attackEntityFrom(exploder.damageSource, power1/10f);
+ }
+ block.onBlockDestroyedByExplosion(world, x, y, z, explosion);
+ exploder.setBlockToAir(x, y, z);
+ }
+ return power1;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/7054990556b400151e8fcdb87a141443 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/7054990556b400151e8fcdb87a141443
new file mode 100644
index 0000000..aec8b3e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/7054990556b400151e8fcdb87a141443
@@ -0,0 +1,567 @@
+package ihl.flexible_cable;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
+import cpw.mods.fml.common.network.internal.FMLProxyPacket;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.interfaces.ICableHolder;
+import ihl.interfaces.IDataCableHolder;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.INetworkListener;
+import ihl.utils.IHLUtils;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufInputStream;
+import io.netty.buffer.ByteBufOutputStream;
+import io.netty.buffer.Unpooled;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class NodeEntity extends Entity implements INetworkListener{
+
+ public Entity prevAnchorEntity;
+ public Entity nextAnchorEntity;
+ private int anchorX;
+ private int anchorY;
+ private int anchorZ;
+ private short anchorFacing;
+ private int anchorDimensionId;
+ public ItemStack attachedItem;
+ protected int chainUniqueID=-2;
+ public int chainArrangeNumber=-2;
+ protected int checkTimer=201;
+ public int colorIndex=16777215;
+ public int type=1;//0 - uninsulated wire; 1 - insulated cable; 2 - data cable
+ public float dx0=0;
+ public float dy0=0;
+ public float dz0=0;
+ public final int n=32;
+ public final float[] rotationPitchArray = new float[n+1];
+ public final float[] rotationYawArray = new float[n+1];
+ public final float[] translationX = new float[n+1];
+ public final float[] translationY = new float[n+1];
+ public final float[] translationZ = new float[n+1];
+ public float virtualNodePosX;
+ public float virtualNodePosY;
+ public float virtualNodePosZ;
+ public float renderPosX;
+ public float renderPosY;
+ public float renderPosZ;
+
+ public NodeEntity(World world)
+ {
+ super(world);
+ if(world.isRemote)
+ {
+ IHLMod.proxy.addEntityToList(this);
+ this.setSize(2f, 0.2f);
+ }
+ else
+ {
+ IHLMod.proxy.addEntityToServerList(this);
+ this.setSize(0.5F, 0.1F);
+ }
+ this.renderDistanceWeight = 5.0D;
+ this.yOffset+=0.15F;
+ this.virtualNodePosX=(float) this.posX;
+ this.virtualNodePosY=(float) this.posY;
+ this.virtualNodePosZ=(float) this.posZ;
+ }
+
+ @Override
+ public void setInPortal(){}
+
+ public void setSize(float width, float heigth)
+ {
+ super.setSize(width, heigth);
+ }
+
+ public void setVirtualNodePos(float posX,float posY, float posZ)
+ {
+ virtualNodePosX=posX;
+ virtualNodePosY=posY;
+ virtualNodePosZ=posZ;
+ this.registerAndSendData(null);
+ }
+
+ public void registerAndSendData(EntityPlayerMP player)
+ {
+ if(!worldObj.isRemote)
+ {
+ Set<NodeEntity> nes;
+ if(IHLMod.proxy.nodeEntityRegistry.containsKey(this.getChainUniqueID()))
+ {
+ nes=IHLMod.proxy.nodeEntityRegistry.get(this.getChainUniqueID());
+ }
+ else
+ {
+ nes=new HashSet();
+ IHLMod.proxy.nodeEntityRegistry.put(this.getChainUniqueID(),nes);
+ }
+ nes.add(this);
+ ByteBuf bb = Unpooled.buffer(30);
+ ByteBufOutputStream byteBufOutputStream = new ByteBufOutputStream(bb);
+ try
+ {
+ byteBufOutputStream.write(1);
+ byteBufOutputStream.writeInt(this.getEntityId());
+ byteBufOutputStream.writeInt(this.getChainUniqueID());
+ byteBufOutputStream.writeInt(this.chainArrangeNumber);
+ byteBufOutputStream.writeByte(this.type);
+ byteBufOutputStream.writeInt(this.colorIndex);
+ byteBufOutputStream.writeFloat(this.virtualNodePosX);
+ byteBufOutputStream.writeFloat(this.virtualNodePosY);
+ byteBufOutputStream.writeFloat(this.virtualNodePosZ);
+ if(player==null)
+ {
+ IHLMod.proxy.sendFromServerToAll(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID));
+ }
+ else
+ {
+ IHLMod.proxy.sendFromServerToPlayer(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID),player);
+ }
+ byteBufOutputStream.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onUpdate()
+ {
+ super.onUpdate();
+ if(!noClip && !worldObj.isRemote)
+ {
+ this.moveEntity(this.motionX, this.motionY, this.motionZ);
+ }
+ if(this.checkTimer==201)
+ {
+ if(worldObj.isRemote)
+ {
+ IHLMod.proxy.recieveDelayedDataPacket(this);
+ }
+ else
+ {
+ this.registerAndSendData(null);
+ }
+ }
+ if((prevAnchorEntity==null && !noClip)||(nextAnchorEntity==null || nextAnchorEntity instanceof EntityPlayer || nextAnchorEntity instanceof EntityItem))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<NodeEntity> eItemsList = this.worldObj.getEntitiesWithinAABB(NodeEntity.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ NodeEntity node=(NodeEntity) ei.next();
+ if(node.getChainUniqueID()==this.getChainUniqueID())
+ {
+ if(node.chainArrangeNumber==this.chainArrangeNumber-1)
+ {
+ this.prevAnchorEntity=node;
+ node.nextAnchorEntity=this;
+ }
+ else if(node.chainArrangeNumber==this.chainArrangeNumber+1)
+ {
+ this.nextAnchorEntity=node;
+ node.prevAnchorEntity=this;
+ }
+ }
+ if(prevAnchorEntity!=null && nextAnchorEntity!=null)
+ {
+ break;
+ }
+ }
+ }
+ }
+ if(this.attachedItem!=null && (this.nextAnchorEntity == null || this.nextAnchorEntity.isDead) && !this.noClip)
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityPlayer> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityPlayer player=(EntityPlayer) ei.next();
+ if(this.playerHasItemStack(player))
+ {
+ this.nextAnchorEntity=player;
+ }
+
+ }
+ }
+ }
+ if(this.attachedItem!=null && this.nextAnchorEntity instanceof EntityPlayer && !noClip)
+ {
+ EntityPlayer player = (EntityPlayer) this.nextAnchorEntity;
+ if(!this.playerHasItemStack(player))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator<EntityItem> ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityItem eitem = ei.next();
+ if(eitem.getEntityItem().isItemEqual(this.attachedItem))
+ {
+ this.nextAnchorEntity=eitem;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if(!worldObj.isRemote)
+ {
+ {
+ double x0,x2,y0,y2,z0,z2;
+ x2=x0=this.virtualNodePosX;
+ y2=y0=this.virtualNodePosY;
+ z2=z0=this.virtualNodePosZ;
+ if(nextAnchorEntity!=null)
+ {
+ x2=nextAnchorEntity.posX;
+ y2=nextAnchorEntity.posY;
+ z2=nextAnchorEntity.posZ;
+ }
+ if(prevAnchorEntity!=null)
+ {
+ x0=prevAnchorEntity.posX;
+ y0=prevAnchorEntity.posY;
+ z0=prevAnchorEntity.posZ;
+ }
+
+ double d1 = (x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)+(z0-z2)*(z0-z2);
+ if(d1>4D)
+ {
+ this.motionX=(x0+x2)*0.05D-this.posX*0.1D;
+ this.motionY=(y0+y2)*0.05D-this.posY*0.1D;
+ this.motionZ=(z0+z2)*0.05D-this.posZ*0.1D;
+ if(nextAnchorEntity!=null && this.getDistanceSqToEntity(nextAnchorEntity)>4D)
+ {
+ this.nextAnchorEntity.addVelocity((this.posX-this.nextAnchorEntity.posX)*0.01D, (this.posY-this.nextAnchorEntity.posY)*0.01D, (this.posZ-this.nextAnchorEntity.posZ)*0.01D);
+ }
+ }
+ else
+ {
+ double d2 = this.getDistanceSq(x2,y2,z2);
+ if(d2>1D)
+ {
+ this.motionX+=(x2-this.posX)*0.01D;
+ this.motionY+=(y2-this.posY)*0.01D;
+ this.motionZ+=(z2-this.posZ)*0.01D;
+ }
+ double d3 = this.getDistanceSq(x0,y0,z0);
+ if(d3>1D)
+ {
+ this.motionX+=(x0-this.posX)*0.01D;
+ this.motionY+=(y0-this.posY)*0.01D;
+ this.motionZ+=(z0-this.posZ)*0.01D;
+ }
+ }
+ this.motionY-=0.005D;
+ }
+ }
+ if(this.onGround)
+ {
+ this.motionY *= -0.5D;
+ }
+ this.motionX*=0.9D;
+ this.motionY*=0.9D;
+ this.motionZ*=0.9D;
+ if(worldObj.isRemote)
+ {
+ this.renderPosX=(float) this.prevPosX;
+ this.renderPosY=(float) this.prevPosY;
+ this.renderPosZ=(float) this.prevPosZ;
+ float xi,yi,zi;
+ float x0=xi=(float)this.prevPosX;
+ float y0=yi=(float)this.prevPosY;
+ float z0=zi=(float)this.prevPosZ;
+ float dx0=this.dx0;
+ float dy0=this.dy0;
+ float dz0=this.dz0;
+ float dx1=this.virtualNodePosX-xi;
+ float dy1=this.virtualNodePosY-yi;
+ float dz1=this.virtualNodePosZ-zi;
+ if(this.nextAnchorEntity!=null)
+ {
+ dx1=(float) (this.nextAnchorEntity.prevPosX-xi);
+ dy1=(float) (this.nextAnchorEntity.prevPosY-yi);
+ dz1=(float) (this.nextAnchorEntity.prevPosZ-zi);
+ }
+ if(this.prevAnchorEntity==null)
+ {
+ this.renderPosX=x0=xi=this.virtualNodePosX;
+ this.renderPosY=y0=yi=this.virtualNodePosY;
+ this.renderPosZ=z0=zi=this.virtualNodePosZ;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ if(((NodeEntity)this.nextAnchorEntity).nextAnchorEntity!=null)
+ {
+ Entity nne = ((NodeEntity)this.nextAnchorEntity).nextAnchorEntity;
+ dx1=(float) (nne.prevPosX-xi);
+ dy1=(float) (nne.prevPosY-yi);
+ dz1=(float) (nne.prevPosZ-zi);
+ }
+ else
+ {
+ dx1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosX-xi);
+ dy1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosY-yi);
+ dz1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosZ-zi);
+ }
+ }
+ float x1=this.virtualNodePosX;
+ float y1=this.virtualNodePosY;
+ float z1=this.virtualNodePosZ;
+ if(this.nextAnchorEntity!=null)
+ {
+ x1=(float)this.nextAnchorEntity.prevPosX;
+ y1=(float)this.nextAnchorEntity.prevPosY;
+ z1=(float)this.nextAnchorEntity.prevPosZ;
+ }
+ int i1=0;
+ for(float i=1f/n;i<=1f+1f/n;i+=1f/n,i1++)
+ {
+ float dxi = xi;
+ float dyi = yi;
+ float dzi = zi;
+ xi=(dx1-2*x1+2*dx0+2*x0-dx0)*i*i*i+(3*x1-dx1-3*dx0-3*x0+dx0)*i*i+dx0*i+x0;
+ yi=(dy1-2*y1+2*dy0+2*y0-dy0)*i*i*i+(3*y1-dy1-3*dy0-3*y0+dy0)*i*i+dy0*i+y0;
+ zi=(dz1-2*z1+2*dz0+2*z0-dz0)*i*i*i+(3*z1-dz1-3*dz0-3*z0+dz0)*i*i+dz0*i+z0;
+ int blockX=(int)xi;
+ int blockY=(int)yi;
+ int blockZ=(int)zi;
+ dxi-=xi;
+ dyi-=yi;
+ dzi-=zi;
+ double var7 = MathHelper.sqrt_double(dxi * dxi + dzi * dzi);
+ float var9 = (float)(Math.atan2(dzi, dxi) * 180.0D / Math.PI) - 90.0F;
+ float var10 = (float)(-(Math.atan2(dyi, var7) * 180.0D / Math.PI));
+ float rotationPitch = (float) Math.atan2(dxi, dzi);
+ float rotationYaw = (float) (-Math.atan2(dyi, var7));
+ rotationPitchArray[i1]=rotationPitch;
+ rotationYawArray[i1]=rotationYaw;
+ translationX[i1]=dxi;
+ translationY[i1]=dyi;
+ translationZ[i1]=dzi;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ NodeEntity next = (NodeEntity) this.nextAnchorEntity;
+ next.dx0=dx1;
+ next.dy0=dy1;
+ next.dz0=dz1;
+ }
+ }
+ if(--this.checkTimer<=0)
+ {
+ if(!worldObj.isRemote)
+ {
+ TileEntity te = MinecraftServer.getServer().worldServerForDimension(this.anchorDimensionId).getTileEntity(this.anchorX, this.anchorY, this.anchorZ);
+ if(te==null || !(te instanceof ICableHolder || te instanceof AnchorTileEntity))
+ {
+ this.setDead();
+ }
+ }
+ this.checkTimer=200;
+ }
+ }
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound nbt)
+ {
+ this.noClip=nbt.getBoolean("noClip");
+ this.setChainUniqueID(nbt.getInteger("chainUniqueID"));
+ this.chainArrangeNumber=nbt.getInteger("chainArrangeNumber");
+ this.anchorX=nbt.getInteger("anchorX");
+ this.anchorY=nbt.getInteger("anchorY");
+ this.anchorZ=nbt.getInteger("anchorZ");
+ this.anchorFacing=nbt.getShort("anchorFacing");
+ this.anchorDimensionId=nbt.getInteger("anchorDimensionId");
+ this.type=nbt.getInteger("type");
+ this.colorIndex=nbt.getInteger("colorIndex");
+ if(nbt.hasKey("itemStack"))
+ {
+ NBTTagCompound stackTag = (NBTTagCompound) nbt.getTag("itemStack");
+ this.attachedItem = ItemStack.loadItemStackFromNBT(stackTag);
+ }
+ if(nbt.hasKey("width"))
+ {
+ this.setSize(nbt.getFloat("width"), nbt.getFloat("height"));
+ }
+ this.virtualNodePosX=nbt.getFloat("virtualNodePosX");
+ this.virtualNodePosY=nbt.getFloat("virtualNodePosY");
+ this.virtualNodePosZ=nbt.getFloat("virtualNodePosZ");
+ }
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound nbt)
+ {
+ nbt.setFloat("width", this.width);
+ nbt.setFloat("height", this.height);
+ nbt.setBoolean("noClip", noClip);
+ nbt.setInteger("chainUniqueID", this.getChainUniqueID());
+ nbt.setInteger("chainArrangeNumber", this.chainArrangeNumber);
+ nbt.setInteger("anchorX", this.anchorX);
+ nbt.setInteger("anchorY", this.anchorY);
+ nbt.setInteger("anchorZ", this.anchorZ);
+ nbt.setShort("anchorFacing",this.anchorFacing);
+ nbt.setInteger("anchorDimensionId",this.anchorDimensionId);
+ nbt.setInteger("type", this.type);
+ nbt.setInteger("colorIndex", this.colorIndex);
+ if(this.attachedItem!=null)
+ {
+ NBTTagCompound stackTag = new NBTTagCompound();
+ this.attachedItem.writeToNBT(stackTag);
+ nbt.setTag("itemStack",stackTag);
+ }
+ nbt.setFloat("virtualNodePosX",this.virtualNodePosX);
+ nbt.setFloat("virtualNodePosY",this.virtualNodePosY);
+ nbt.setFloat("virtualNodePosZ",this.virtualNodePosZ);
+ }
+
+ public void setAnchor(int x, int y, int z, short facing, int dimensionId)
+ {
+ this.anchorX=x;
+ this.anchorY=y;
+ this.anchorZ=z;
+ this.anchorFacing=facing;
+ this.anchorDimensionId=dimensionId;
+ }
+
+ public boolean playerHasItemStack(EntityPlayer player)
+ {
+ int var2;
+
+ for (var2 = 0; var2 < player.inventory.armorInventory.length; ++var2)
+ {
+ if (player.inventory.armorInventory[var2] != null && player.inventory.armorInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.armorInventory[var2].stackTagCompound==null?false:player.inventory.armorInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ for (var2 = 0; var2 < player.inventory.mainInventory.length; ++var2)
+ {
+ if (player.inventory.mainInventory[var2] != null && player.inventory.mainInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.mainInventory[var2].stackTagCompound==null?false:player.inventory.mainInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ return false;
+ }
+
+ public int getChainUniqueID() {
+ return chainUniqueID;
+ }
+
+ public void setChainUniqueID(int chainUniqueID) {
+ this.chainUniqueID = chainUniqueID;
+ }
+
+ @Override
+ public AxisAlignedBB getCollisionBox(Entity entity)
+ {
+ if(this.noClip)
+ {
+ return null;
+ }
+ else
+ {
+ return super.getCollisionBox(entity);
+ }
+ }
+
+ @Override
+ public int getId()
+ {
+ return this.getEntityId();
+ }
+
+ @Override
+ public void recieveData(ByteBufInputStream byteBufInputStream)
+ {
+ try
+ {
+ this.setChainUniqueID(byteBufInputStream.readInt());
+ this.chainArrangeNumber=byteBufInputStream.readInt();
+ this.type=byteBufInputStream.readByte();
+ this.colorIndex=byteBufInputStream.readInt();
+ this.virtualNodePosX=byteBufInputStream.readFloat();
+ this.virtualNodePosY=byteBufInputStream.readFloat();
+ this.virtualNodePosZ=byteBufInputStream.readFloat();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ public boolean isInvalid()
+ {
+ return this.isDead;
+ }
+
+ public void setVirtualNodePosToNearestPortal()
+ {
+ int x0 = (int)this.posX;
+ int y0 = (int)this.posY;
+ int z0 = (int)this.posZ;
+ for(int xi=x0-2;xi<=x0+2;xi++)
+ {
+ for(int yi=y0-2;yi<=y0+2;yi++)
+ {
+ for(int zi=z0-2;zi<=z0+2;zi++)
+ {
+ Block block = worldObj.getBlock(xi, yi, zi);
+ if(block==Blocks.portal||block==Blocks.end_portal)
+ {
+ this.setVirtualNodePos(xi+0.5f, yi+0.5f, zi+0.5f);
+ return;
+ }
+ }
+ }
+ }
+
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/c064fb3543b60015176c95ddaf2504ce b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/c064fb3543b60015176c95ddaf2504ce
new file mode 100644
index 0000000..68987b9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/c064fb3543b60015176c95ddaf2504ce
@@ -0,0 +1,578 @@
+package ihl.flexible_cable;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
+import cpw.mods.fml.common.network.internal.FMLProxyPacket;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.interfaces.ICableHolder;
+import ihl.interfaces.IDataCableHolder;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.INetworkListener;
+import ihl.utils.IHLUtils;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufInputStream;
+import io.netty.buffer.ByteBufOutputStream;
+import io.netty.buffer.Unpooled;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldServer;
+
+public class NodeEntity extends Entity implements INetworkListener{
+
+ public NodeEntity prevAnchorEntity;
+ public Entity nextAnchorEntity;
+ private int anchorX;
+ private int anchorY;
+ private int anchorZ;
+ private short anchorFacing;
+ private int anchorDimensionId;
+ public ItemStack attachedItem;
+ protected int chainUniqueID=-2;
+ public int chainArrangeNumber=-2;
+ protected int checkTimer=201;
+ public int colorIndex=16777215;
+ public int type=1;//0 - uninsulated wire; 1 - insulated cable; 2 - data cable
+ public float dx0=0;
+ public float dy0=0;
+ public float dz0=0;
+ public final int n=64;
+ public final float[] rotationPitchArray = new float[n+1];
+ public final float[] rotationYawArray = new float[n+1];
+ public final float[] translationX = new float[n+1];
+ public final float[] translationY = new float[n+1];
+ public final float[] translationZ = new float[n+1];
+ public float virtualNodePosX;
+ public float virtualNodePosY;
+ public float virtualNodePosZ;
+ public float renderPosX;
+ public float renderPosY;
+ public float renderPosZ;
+ private boolean alreadyRegistered=false;
+
+ public NodeEntity(World world)
+ {
+ super(world);
+ if(world.isRemote)
+ {
+ IHLMod.proxy.addEntityToList(this);
+ this.setSize(2f, 0.2f);
+ }
+ else
+ {
+ IHLMod.proxy.addEntityToServerList(this);
+ this.setSize(0.5F, 0.1F);
+ }
+ this.renderDistanceWeight = 5.0D;
+ this.yOffset+=0.15F;
+ this.virtualNodePosX=(float) this.posX;
+ this.virtualNodePosY=(float) this.posY;
+ this.virtualNodePosZ=(float) this.posZ;
+ }
+
+ @Override
+ public void setInPortal(){}
+
+ @Override
+ public void travelToDimension(int dimensionId){}
+
+ public void setSize(float width, float heigth)
+ {
+ super.setSize(width, heigth);
+ }
+
+ public void setVirtualNodePos(float posX,float posY, float posZ)
+ {
+ virtualNodePosX=posX;
+ virtualNodePosY=posY;
+ virtualNodePosZ=posZ;
+ this.registerAndSendData(null);
+ }
+
+ public void registerAndSendData(EntityPlayerMP player)
+ {
+ if(!worldObj.isRemote)
+ {
+ if(!alreadyRegistered)
+ {
+ Set<NodeEntity> nes;
+ if(IHLMod.proxy.nodeEntityRegistry.containsKey(this.getChainUniqueID()))
+ {
+ nes=IHLMod.proxy.nodeEntityRegistry.get(this.getChainUniqueID());
+ }
+ else
+ {
+ nes=new HashSet();
+ IHLMod.proxy.nodeEntityRegistry.put(this.getChainUniqueID(),nes);
+ }
+ nes.add(this);
+ alreadyRegistered=true;
+ }
+ ByteBuf bb = Unpooled.buffer(30);
+ ByteBufOutputStream byteBufOutputStream = new ByteBufOutputStream(bb);
+ try
+ {
+ byteBufOutputStream.write(1);
+ byteBufOutputStream.writeInt(this.getEntityId());
+ byteBufOutputStream.writeInt(this.getChainUniqueID());
+ byteBufOutputStream.writeInt(this.chainArrangeNumber);
+ byteBufOutputStream.writeByte(this.type);
+ byteBufOutputStream.writeInt(this.colorIndex);
+ byteBufOutputStream.writeFloat(this.virtualNodePosX);
+ byteBufOutputStream.writeFloat(this.virtualNodePosY);
+ byteBufOutputStream.writeFloat(this.virtualNodePosZ);
+ if(player==null)
+ {
+ IHLMod.proxy.sendFromServerToAll(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID));
+ }
+ else
+ {
+ IHLMod.proxy.sendFromServerToPlayer(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID),player);
+ }
+ byteBufOutputStream.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onUpdate()
+ {
+ super.onUpdate();
+ if(!noClip && !worldObj.isRemote)
+ {
+ this.moveEntity(this.motionX, this.motionY, this.motionZ);
+ }
+ if(this.checkTimer==201)
+ {
+ if(worldObj.isRemote)
+ {
+ IHLMod.proxy.recieveDelayedDataPacket(this);
+ }
+ else
+ {
+ this.registerAndSendData(null);
+ }
+ }
+ if((prevAnchorEntity==null && !noClip)||(nextAnchorEntity==null || nextAnchorEntity instanceof EntityPlayer || nextAnchorEntity instanceof EntityItem))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<NodeEntity> eItemsList = this.worldObj.getEntitiesWithinAABB(NodeEntity.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ NodeEntity node=(NodeEntity) ei.next();
+ if(node.getChainUniqueID()==this.getChainUniqueID())
+ {
+ if(node.chainArrangeNumber==this.chainArrangeNumber-1)
+ {
+ this.prevAnchorEntity=node;
+ node.nextAnchorEntity=this;
+ }
+ else if(node.chainArrangeNumber==this.chainArrangeNumber+1)
+ {
+ this.nextAnchorEntity=node;
+ node.prevAnchorEntity=this;
+ }
+ }
+ if(prevAnchorEntity!=null && nextAnchorEntity!=null)
+ {
+ break;
+ }
+ }
+ }
+ }
+ if(this.attachedItem!=null && (this.nextAnchorEntity == null || this.nextAnchorEntity.isDead) && !this.noClip)
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityPlayer> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityPlayer player=(EntityPlayer) ei.next();
+ if(this.playerHasItemStack(player))
+ {
+ this.nextAnchorEntity=player;
+ }
+
+ }
+ }
+ }
+ if(this.attachedItem!=null && this.nextAnchorEntity instanceof EntityPlayer && !noClip)
+ {
+ EntityPlayer player = (EntityPlayer) this.nextAnchorEntity;
+ if(!this.playerHasItemStack(player))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator<EntityItem> ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityItem eitem = ei.next();
+ if(eitem.getEntityItem().isItemEqual(this.attachedItem))
+ {
+ this.nextAnchorEntity=eitem;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if(!worldObj.isRemote)
+ {
+ {
+ double x0,x2,y0,y2,z0,z2;
+ x2=x0=this.virtualNodePosX;
+ y2=y0=this.virtualNodePosY;
+ z2=z0=this.virtualNodePosZ;
+ if(nextAnchorEntity!=null)
+ {
+ x2=nextAnchorEntity.posX;
+ y2=nextAnchorEntity.posY;
+ z2=nextAnchorEntity.posZ;
+ }
+ if(prevAnchorEntity!=null)
+ {
+ x0=prevAnchorEntity.posX;
+ y0=prevAnchorEntity.posY;
+ z0=prevAnchorEntity.posZ;
+ }
+
+ double d1 = (x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)+(z0-z2)*(z0-z2);
+ if(d1>4D)
+ {
+ this.motionX=(x0+x2)*0.5D-this.posX*1D;
+ this.motionY=(y0+y2)*0.5D-this.posY*1D;
+ this.motionZ=(z0+z2)*0.5D-this.posZ*1D;
+ if(nextAnchorEntity!=null && this.getDistanceSqToEntity(nextAnchorEntity)>4D)
+ {
+ this.nextAnchorEntity.addVelocity((this.posX-this.nextAnchorEntity.posX)*0.01D, (this.posY-this.nextAnchorEntity.posY)*0.01D, (this.posZ-this.nextAnchorEntity.posZ)*0.01D);
+ }
+ }
+ else
+ {
+ double d2 = this.getDistanceSq(x2,y2,z2);
+ if(d2>1D)
+ {
+ this.motionX+=(x2-this.posX)*0.1D;
+ this.motionY+=(y2-this.posY)*0.1D;
+ this.motionZ+=(z2-this.posZ)*0.1D;
+ }
+ double d3 = this.getDistanceSq(x0,y0,z0);
+ if(d3>1D)
+ {
+ this.motionX+=(x0-this.posX)*0.1D;
+ this.motionY+=(y0-this.posY)*0.1D;
+ this.motionZ+=(z0-this.posZ)*0.1D;
+ }
+ }
+ this.motionY-=0.005D;
+ }
+ }
+ if(this.onGround)
+ {
+ this.motionY *= -0.5D;
+ }
+ this.motionX*=0.9D;
+ this.motionY*=0.9D;
+ this.motionZ*=0.9D;
+ if(worldObj.isRemote)
+ {
+ float movvmentSpeed=0.05f;
+ this.renderPosX=this.renderPosX*(1f-movvmentSpeed)+(float) this.prevPosX*movvmentSpeed;
+ this.renderPosY=this.renderPosY*(1f-movvmentSpeed)+(float) this.prevPosY*movvmentSpeed;
+ this.renderPosZ=this.renderPosZ*(1f-movvmentSpeed)+(float) this.prevPosZ*movvmentSpeed;
+ float xi,yi,zi;
+ float x0=xi=(float)this.prevPosX;
+ float y0=yi=(float)this.prevPosY;
+ float z0=zi=(float)this.prevPosZ;
+ float dx0=this.dx0;
+ float dy0=this.dy0;
+ float dz0=this.dz0;
+ float dx1=this.virtualNodePosX-xi;
+ float dy1=this.virtualNodePosY-yi;
+ float dz1=this.virtualNodePosZ-zi;
+ if(this.nextAnchorEntity!=null)
+ {
+ dx1=(float) (this.nextAnchorEntity.prevPosX-xi);
+ dy1=(float) (this.nextAnchorEntity.prevPosY-yi);
+ dz1=(float) (this.nextAnchorEntity.prevPosZ-zi);
+ }
+ if(this.prevAnchorEntity==null)
+ {
+ this.renderPosX=x0=xi=this.virtualNodePosX;
+ this.renderPosY=y0=yi=this.virtualNodePosY;
+ this.renderPosZ=z0=zi=this.virtualNodePosZ;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ if(((NodeEntity)this.nextAnchorEntity).nextAnchorEntity!=null)
+ {
+ Entity nne = ((NodeEntity)this.nextAnchorEntity).nextAnchorEntity;
+ dx1=(float) (nne.prevPosX-xi);
+ dy1=(float) (nne.prevPosY-yi);
+ dz1=(float) (nne.prevPosZ-zi);
+ }
+ else
+ {
+ dx1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosX-xi);
+ dy1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosY-yi);
+ dz1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosZ-zi);
+ }
+ }
+ float x1=this.virtualNodePosX;
+ float y1=this.virtualNodePosY;
+ float z1=this.virtualNodePosZ;
+ if(this.nextAnchorEntity!=null)
+ {
+ x1=(float)this.nextAnchorEntity.prevPosX;
+ y1=(float)this.nextAnchorEntity.prevPosY;
+ z1=(float)this.nextAnchorEntity.prevPosZ;
+ }
+ int i1=0;
+ for(float i=1f/n;i<=1f+1f/n;i+=1f/n,i1++)
+ {
+ float dxi = xi;
+ float dyi = yi;
+ float dzi = zi;
+ xi=(dx1-2*x1+2*dx0+2*x0-dx0)*i*i*i+(3*x1-dx1-3*dx0-3*x0+dx0)*i*i+dx0*i+x0;
+ yi=(dy1-2*y1+2*dy0+2*y0-dy0)*i*i*i+(3*y1-dy1-3*dy0-3*y0+dy0)*i*i+dy0*i+y0;
+ zi=(dz1-2*z1+2*dz0+2*z0-dz0)*i*i*i+(3*z1-dz1-3*dz0-3*z0+dz0)*i*i+dz0*i+z0;
+ int blockX=(int)xi;
+ int blockY=(int)yi;
+ int blockZ=(int)zi;
+ dxi-=xi;
+ dyi-=yi;
+ dzi-=zi;
+ double var7 = MathHelper.sqrt_double(dxi * dxi + dzi * dzi);
+ float var9 = (float)(Math.atan2(dzi, dxi) * 180.0D / Math.PI) - 90.0F;
+ float var10 = (float)(-(Math.atan2(dyi, var7) * 180.0D / Math.PI));
+ float rotationPitch = (float) Math.atan2(dxi, dzi);
+ float rotationYaw = (float) (-Math.atan2(dyi, var7));
+ rotationPitchArray[i1]=rotationPitch;
+ rotationYawArray[i1]=rotationYaw;
+ translationX[i1]=dxi;
+ translationY[i1]=dyi;
+ translationZ[i1]=dzi;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ NodeEntity next = (NodeEntity) this.nextAnchorEntity;
+ next.dx0=dx1;
+ next.dy0=dy1;
+ next.dz0=dz1;
+ }
+ }
+ if(--this.checkTimer<=0)
+ {
+ if(!worldObj.isRemote)
+ {
+ WorldServer world = MinecraftServer.getServer().worldServerForDimension(this.anchorDimensionId);
+ TileEntity te = world.getTileEntity(this.anchorX, this.anchorY, this.anchorZ);
+ if(te==null || !(te instanceof ICableHolder || te instanceof AnchorTileEntity))
+ {
+ this.setDead();
+ }
+ }
+ this.checkTimer=200;
+ }
+ }
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound nbt)
+ {
+ this.noClip=nbt.getBoolean("noClip");
+ this.setChainUniqueID(nbt.getInteger("chainUniqueID"));
+ this.chainArrangeNumber=nbt.getInteger("chainArrangeNumber");
+ this.anchorX=nbt.getInteger("anchorX");
+ this.anchorY=nbt.getInteger("anchorY");
+ this.anchorZ=nbt.getInteger("anchorZ");
+ this.anchorFacing=nbt.getShort("anchorFacing");
+ this.anchorDimensionId=nbt.getInteger("anchorDimensionId");
+ this.type=nbt.getInteger("type");
+ this.colorIndex=nbt.getInteger("colorIndex");
+ if(nbt.hasKey("itemStack"))
+ {
+ NBTTagCompound stackTag = (NBTTagCompound) nbt.getTag("itemStack");
+ this.attachedItem = ItemStack.loadItemStackFromNBT(stackTag);
+ }
+ if(nbt.hasKey("width"))
+ {
+ this.setSize(nbt.getFloat("width"), nbt.getFloat("height"));
+ }
+ this.virtualNodePosX=nbt.getFloat("virtualNodePosX");
+ this.virtualNodePosY=nbt.getFloat("virtualNodePosY");
+ this.virtualNodePosZ=nbt.getFloat("virtualNodePosZ");
+ }
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound nbt)
+ {
+ nbt.setFloat("width", this.width);
+ nbt.setFloat("height", this.height);
+ nbt.setBoolean("noClip", noClip);
+ nbt.setInteger("chainUniqueID", this.getChainUniqueID());
+ nbt.setInteger("chainArrangeNumber", this.chainArrangeNumber);
+ nbt.setInteger("anchorX", this.anchorX);
+ nbt.setInteger("anchorY", this.anchorY);
+ nbt.setInteger("anchorZ", this.anchorZ);
+ nbt.setShort("anchorFacing",this.anchorFacing);
+ nbt.setInteger("anchorDimensionId",this.anchorDimensionId);
+ nbt.setInteger("type", this.type);
+ nbt.setInteger("colorIndex", this.colorIndex);
+ if(this.attachedItem!=null)
+ {
+ NBTTagCompound stackTag = new NBTTagCompound();
+ this.attachedItem.writeToNBT(stackTag);
+ nbt.setTag("itemStack",stackTag);
+ }
+ nbt.setFloat("virtualNodePosX",this.virtualNodePosX);
+ nbt.setFloat("virtualNodePosY",this.virtualNodePosY);
+ nbt.setFloat("virtualNodePosZ",this.virtualNodePosZ);
+ }
+
+ public void setAnchor(int x, int y, int z, short facing, int dimensionId)
+ {
+ this.anchorX=x;
+ this.anchorY=y;
+ this.anchorZ=z;
+ this.anchorFacing=facing;
+ this.anchorDimensionId=dimensionId;
+ }
+
+ public boolean playerHasItemStack(EntityPlayer player)
+ {
+ int var2;
+
+ for (var2 = 0; var2 < player.inventory.armorInventory.length; ++var2)
+ {
+ if (player.inventory.armorInventory[var2] != null && player.inventory.armorInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.armorInventory[var2].stackTagCompound==null?false:player.inventory.armorInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ for (var2 = 0; var2 < player.inventory.mainInventory.length; ++var2)
+ {
+ if (player.inventory.mainInventory[var2] != null && player.inventory.mainInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.mainInventory[var2].stackTagCompound==null?false:player.inventory.mainInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ return false;
+ }
+
+ public int getChainUniqueID() {
+ return chainUniqueID;
+ }
+
+ public void setChainUniqueID(int chainUniqueID) {
+ this.chainUniqueID = chainUniqueID;
+ }
+
+ @Override
+ public AxisAlignedBB getCollisionBox(Entity entity)
+ {
+ if(this.noClip)
+ {
+ return null;
+ }
+ else
+ {
+ return super.getCollisionBox(entity);
+ }
+ }
+
+ @Override
+ public int getId()
+ {
+ return this.getEntityId();
+ }
+
+ @Override
+ public void recieveData(ByteBufInputStream byteBufInputStream)
+ {
+ try
+ {
+ this.setChainUniqueID(byteBufInputStream.readInt());
+ this.chainArrangeNumber=byteBufInputStream.readInt();
+ this.type=byteBufInputStream.readByte();
+ this.colorIndex=byteBufInputStream.readInt();
+ this.virtualNodePosX=byteBufInputStream.readFloat();
+ this.virtualNodePosY=byteBufInputStream.readFloat();
+ this.virtualNodePosZ=byteBufInputStream.readFloat();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ public boolean isInvalid()
+ {
+ return this.isDead;
+ }
+
+ public void setVirtualNodePosToNearestPortal()
+ {
+ int x0 = (int)this.posX;
+ int y0 = (int)this.posY;
+ int z0 = (int)this.posZ;
+ for(int xi=x0-2;xi<=x0+2;xi++)
+ {
+ for(int yi=y0-2;yi<=y0+2;yi++)
+ {
+ for(int zi=z0-2;zi<=z0+2;zi++)
+ {
+ Block block = worldObj.getBlock(xi, yi, zi);
+ if(block==Blocks.portal||block==Blocks.end_portal)
+ {
+ this.setVirtualNodePos(xi+0.5f, yi+0.5f, zi+0.5f);
+ return;
+ }
+ }
+ }
+ }
+
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/0003ff6a758b0015134481ec712b17ae b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/0003ff6a758b0015134481ec712b17ae
new file mode 100644
index 0000000..dc1e53c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/0003ff6a758b0015134481ec712b17ae
@@ -0,0 +1,312 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/4063232,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ long longNumber = ebbi.next();
+ ebbi.remove();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(this.isBlockConnectedWithBedrock(longNumber))
+ {
+
+ }
+ }
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ }
+ }
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/90232f55a7ca001510f7df4278c93a7e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/90232f55a7ca001510f7df4278c93a7e
new file mode 100644
index 0000000..6fb4677
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/90232f55a7ca001510f7df4278c93a7e
@@ -0,0 +1,949 @@
+package ihl.utils;
+
+import ic2.api.recipe.IMachineRecipeManager;
+import ic2.api.recipe.IRecipeInput;
+import ic2.api.recipe.RecipeInputItemStack;
+import ic2.api.recipe.RecipeInputOreDict;
+import ic2.api.recipe.Recipes;
+import ic2.core.block.invslot.InvSlotOutput;
+import ihl.IHLMod;
+import ihl.interfaces.IWire;
+import ihl.metallurgy.constants.*;
+import ihl.processing.invslots.InvSlotConsumableLiquidIHL;
+import ihl.recipes.IRecipeInputFluid;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.mutable.MutableObject;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.World;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidTank;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class IHLUtils
+{
+ private static Map<String,ItemStack> ihlItemStackRegistry = new HashMap();
+
+ public static void registerLocally(String name, ItemStack stack)
+ {
+ ihlItemStackRegistry.put(name, stack);
+ }
+
+ public static ItemStack getOreDictItemStack(String name)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=1;
+ return orecopy;
+ }
+
+ public static boolean hasOreDictionaryEntry(String name)
+ {
+ return !OreDictionary.getOres(name).isEmpty();
+ }
+
+ public static Item getOreDictItem(String name)
+ {
+ return OreDictionary.getOres(name).get(0).getItem();
+ }
+
+ public static Block getOreDictBlock(String name)
+ {
+ return Block.getBlockFromItem(OreDictionary.getOres(name).get(0).getItem());
+ }
+
+ public static ItemStack getOreDictItemStackWithSize(String name, int size)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=size;
+ return orecopy;
+ }
+
+ public static String getFirstOreDictName(ItemStack stack)
+ {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ if(arrayIDs.length>0)
+ {
+ return OreDictionary.getOreName(arrayIDs[0]);
+ }
+ return "";
+ }
+
+ public static ItemStack getThisModItemStack(String name)
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithSize(String name, int i) {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ ItemStack stack = ihlItemStackRegistry.get(name).copy();
+ stack.stackSize=i;
+ return stack;
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name),i);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name),i);
+ }
+ }
+
+ public static ItemStack getOtherModItemStackWithDamage(String modname, String name,int damage) {
+ if(GameRegistry.findItem(modname, name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem(modname, name),1,damage);
+ }
+ else if(GameRegistry.findBlock(modname, name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock(modname, name),1,damage);
+ }
+ }
+
+ public static Item getThisModItem(String name)
+ {
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return GameRegistry.findItem("ihl", name);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return Item.getItemFromBlock(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static FluidStack getFluidStackWithSize(String name, int i) {
+ if(FluidRegistry.isFluidRegistered(name))
+ {
+ return FluidRegistry.getFluidStack(name, i);
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such fluid: "+name);
+ }
+ }
+
+ public static Block getThisModBlock(String name)
+ {
+ if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such block in item registry: ihl:"+name);
+ }
+ else
+ {
+ return GameRegistry.findBlock("ihl", name);
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithDamage(String name,
+ int value)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ stack.setItemDamage(value);
+ return stack;
+ }
+
+ public static boolean adjustWireLength(ItemStack stack, int adjustBy)
+ {
+ int length = getWireLength(stack);
+ if(length<=0)
+ {
+ return true;
+ }
+ else
+ {
+ int newLength = Math.max(length+adjustBy,0);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),newLength);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),newLength);
+ if(newLength==0)
+ {
+ return true;
+ }
+ return false;
+ }
+ }
+
+ public static int getWireLength(ItemStack itemStack)
+ {
+ return itemStack.stackTagCompound.getInteger(((IWire)itemStack.getItem()).getTag());
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(String name, int i) {
+ if(getThisModItemStack(name)!=null)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ if(stack.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException("ihl:"+name + " is not an instance of IWire.");
+ }
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(ItemStack stack1, int i) {
+ ItemStack stack = stack1.copy();
+ if(stack1.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException(stack1.getUnlocalizedName() + " is not an instance of IWire.");
+ }
+ }
+
+ public static boolean isItemsHaveSameOreDictionaryEntry(ItemStack is, ItemStack is1)
+ {
+ int[] odids1 = OreDictionary.getOreIDs(is);
+ int[] odids2 = OreDictionary.getOreIDs(is1);
+ if(odids1!=null && odids1.length>0 && odids2!=null && odids2.length>0)
+ {
+ for(int i1=0;i1<odids1.length;i1++)
+ {
+ for(int i2=0;i2<odids2.length;i2++)
+ {
+ if(!OreDictionary.getOreName(odids1[i1]).contains("Any") && odids1[i1]==odids2[i2])
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ public static List<ItemStack> getEntryListForOre(String name)
+ {
+ ArrayList<ItemStack> outputList = new ArrayList<ItemStack>();
+ ArrayList<ItemStack> oreList = OreDictionary.getOres(name);
+ Iterator<ItemStack> oreListIterator = oreList.iterator();
+ while(oreListIterator.hasNext())
+ {
+ outputList.add(oreListIterator.next().copy());
+ }
+ return outputList;
+ }
+
+ public static ItemStack getItemStackIfExist(String name)
+ {
+ if(hasOreDictionaryEntry(name))
+ {
+ return getOreDictItemStack(name);
+ }
+ else
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+ }
+
+ public static FluidStack getFluidStackIfExist(String string, int meltingFluidAmount)
+ {
+ if(FluidRegistry.isFluidRegistered(string))
+ {
+ return getFluidStackWithSize(string,meltingFluidAmount);
+ }
+ return null;
+ }
+
+ public static boolean addItemStackToInventory(EntityPlayer player, ItemStack stack)
+ {
+ ItemStack[] inv = player.inventory.mainInventory;
+ for (int i=0;i<=35;i++)
+ {
+ if(inv[i]!=null)
+ {
+ if(inv[i].getItem()==stack.getItem())
+ {
+ if(inv[i].getItemDamage()==stack.getItemDamage() && inv[i].stackSize<inv[i].getMaxStackSize())
+ {
+ inv[i].stackSize+=stack.stackSize;
+ if(inv[i].stackSize>inv[i].getMaxStackSize())
+ {
+ stack.stackSize=inv[i].stackSize-inv[i].getMaxStackSize();
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+ }
+ else
+ {
+ inv[i]=stack;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static FluidStack getFluidStackWithSizeChemicallyPure(String name, int amount)
+ {
+ FluidStack fstack = getFluidStackWithSize(name, amount);
+ fstack.tag=new NBTTagCompound();
+ fstack.tag.setBoolean("chemicallyPure", true);
+ return fstack;
+ }
+
+ public static void removeItemStackFromOreDictionaryEntry(String orename, ItemStack itemStack)
+ {
+ ArrayList<ItemStack> orelist = OreDictionary.getOres(orename);
+ Iterator<ItemStack> oreListIterator = orelist.iterator();
+ ItemStack odstack = null;
+ while(oreListIterator.hasNext())
+ {
+ odstack = oreListIterator.next();
+ if(odstack.getItem()==itemStack.getItem())
+ {
+ break;
+ }
+ else
+ {
+ odstack = null;
+ }
+ }
+ if(odstack != null)
+ {
+ orelist.remove(odstack);
+ IHLMod.log.debug("Stack "+odstack.getDisplayName()+" ("+odstack.toString()+")"+" removed from ore entry '"+orename+"'");
+ }
+ }
+
+ public static boolean isRecipeInputExist(IMachineRecipeManager iMachineRecipeManager, ItemStack stack)
+ {
+ Iterator<IRecipeInput> keyI = iMachineRecipeManager.getRecipes().keySet().iterator();
+ while(keyI.hasNext())
+ {
+ IRecipeInput iri = keyI.next();
+ if(iri.matches(stack))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static void addIC2MaceratorRecipe(String input, ItemStack output)
+ {
+ if(!isRecipeInputExist(Recipes.macerator,getOreDictItemStack(input)))
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputOreDict(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(String input, int stacksize, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(getOreDictItemStackWithSize(input,stacksize), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputOreDict(input,stacksize), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(String input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(getThisModItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputOreDict(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2CentrifugeRecipe(String input, ItemStack output, ItemStack output2)
+ {
+ if(Recipes.centrifuge.getOutputFor(getOreDictItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ tag.setInteger("minHeat", 2000);
+ Recipes.centrifuge.addRecipe(new RecipeInputOreDict(input), tag, new ItemStack[] {output,output2});
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 centrifuge recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void damageItemViaNBTTag(ItemStack stack, int amount)
+ {
+ NBTTagCompound gtTagCompound;
+ if(stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+ int damage = 0;
+ int maxDamage = 0;
+ if(gtTagCompound.hasKey("MaxDamage"))
+ {
+ maxDamage = gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+
+ if(gtTagCompound.hasKey("Damage"))
+ {
+ damage = gtTagCompound.getInteger("Damage");
+ }
+ if(damage<maxDamage-amount)
+ {
+ damage+=amount;
+ gtTagCompound.setInteger("Damage",damage);
+ gtTagCompound.setInteger("MaxDamage",maxDamage);
+ stack.stackTagCompound.setTag("GT.ToolStats", gtTagCompound);
+ }
+ else
+ {
+ stack.stackSize--;
+ }
+ }
+
+ public static int getDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("Damage"))
+ {
+ return gtTagCompound.getInteger("Damage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static int getMaxDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("MaxDamage"))
+ {
+ return gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, ItemStack stack2, boolean useOreDictionary)
+ {
+ if(useOreDictionary && isItemsHaveSameOreDictionaryEntry(stack1,stack2))
+ {
+ return true;
+ }
+ else
+ {
+ if(stack1.getItemDamage()==OreDictionary.WILDCARD_VALUE || stack2.getItemDamage()==OreDictionary.WILDCARD_VALUE)
+ {
+ return stack1.getItem()==stack2.getItem();
+ }
+ else
+ {
+ return stack1.getItem()==stack2.getItem() && stack1.getItemDamage()==stack2.getItemDamage();
+ }
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, String stack2name, boolean useOreDictionary)
+ {
+ return isItemStacksIsEqual(stack1, getThisModItemStack(stack2name),useOreDictionary);
+ }
+
+ public static boolean isIRecipeInputMatchesWithAmount(IRecipeInput input, ItemStack stack)
+ {
+ if(input.matches(stack))
+ {
+ if(stack.getItem() instanceof IWire)
+ {
+ return getWireLength(stack)>=input.getAmount();
+ }
+ else
+ {
+ return stack.stackSize>=input.getAmount();
+ }
+ }
+ return false;
+ }
+
+ public static boolean reduceItemStackAmountUsingIRecipeInput(IRecipeInput input, ItemStack stack) {
+ if(stack.getItem() instanceof IWire)
+ {
+ return adjustWireLength(stack,-input.getAmount());
+ }
+ else
+ {
+ stack.stackSize-=input.getAmount();
+ return stack.stackSize<=0;
+ }
+ }
+
+ public static String getFirstOreDictNameExcludingTagAny(ItemStack stack) {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ for(int i=0;i<arrayIDs.length;i++)
+ {
+ if(!OreDictionary.getOreName(arrayIDs[i]).contains("Any"))
+ {
+ return OreDictionary.getOreName(arrayIDs[i]);
+ }
+ }
+ return "";
+ }
+
+ public static void handleFluidSlotsBehaviour(InvSlotConsumableLiquidIHL fillInputSlot, InvSlotConsumableLiquidIHL drainInputSlot, InvSlotOutput emptyFluidItemsSlot, IFluidTank fluidTank)
+ {
+ MutableObject output;
+ if (drainInputSlot!=null && !drainInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if(fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, true),false)>0 && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, false),true);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ if (fillInputSlot!=null && !fillInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if (fillInputSlot.transferFromTank(fluidTank, output, true) && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fillInputSlot.transferFromTank(fluidTank, output, false);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ }
+ public static double[] tracePlayerView(EntityPlayer entityplayer)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+ if (entityplayer.worldObj!=null && entityplayer.worldObj.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+ double z = entityplayer.posZ;
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 1.0D;
+ return new double[] {x+f7 * d3, y+f6 * d3, z+f9 * d3};
+ }
+
+ public static MovingObjectPosition returnMOPFromPlayer(EntityPlayer entityplayer, World world)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+
+ if (world.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+
+ double z = entityplayer.posZ;
+ Vec3 vec3d = Vec3.createVectorHelper(x, y, z);
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 5.0D;
+ Vec3 vec3d1 = vec3d.addVector(f7 * d3, f6 * d3, f9 * d3);
+ MovingObjectPosition movingobjectposition = world.rayTraceBlocks(vec3d, vec3d1, true);
+
+ if (movingobjectposition == null)
+ {
+ return null;
+ }
+
+ if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
+ {
+ return movingobjectposition;
+ }
+ return null;
+ }
+
+ public static short getFacingFromPlayerView(EntityLivingBase player, boolean ignoreSneaking)
+ {
+ int var6 = MathHelper.floor_double(player.rotationPitch * 4.0F / 360.0F + 0.5D) & 3;
+ int var7 = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
+ {
+ if(var6==1)
+ {
+ return 1;
+ }
+ else if(var6==3)
+ {
+ return 0;
+ }
+ else
+ {
+ if(player.isSneaking() && !ignoreSneaking)
+ {
+ switch(var7)
+ {
+ case 0:
+ return 3;
+ case 1:
+ return 4;
+ case 2:
+ return 2;
+ case 3:
+ return 5;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ switch(var7)
+ {
+ case 0:
+ return 2;
+ case 1:
+ return 5;
+ case 2:
+ return 3;
+ case 3:
+ return 4;
+ default:
+ break;
+ }
+ }
+ }
+ }
+ return 3;
+ }
+
+ public static int getChainID(ItemStack itemStack)
+ {
+ if(itemStack!=null && itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("chainUID"))
+ {
+ return itemStack.stackTagCompound.getInteger("chainUID");
+ }
+ return -1;
+ }
+
+ public static List<ItemStack> convertRecipeInputToItemStackList(List<IRecipeInput> input)
+ {
+ Iterator<IRecipeInput> irii=input.iterator();
+ List<ItemStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInput iri = irii.next();
+ ItemStack stack = iri.getInputs().get(0);
+ stack.stackSize=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static List<FluidStack> convertRecipeInputToFluidStackList(List<IRecipeInputFluid> input) {
+ Iterator<IRecipeInputFluid> irii=input.iterator();
+ List<FluidStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInputFluid iri = irii.next();
+ FluidStack stack = iri.getInputs().get(0);
+ stack.amount=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static int[] decodeXYZ(long longNumber)
+ {
+ return new int[] {(int) ((longNumber>>30) & 0xfff)-256,(int) ((longNumber>>15) & 0xfff)-256,(int) (longNumber & 0xfff)-256};
+ }
+
+ public static long encodeXYZ(int x,int y,int z)
+ {
+ return (x+256L)<<30|((y+256L)<<15)|(z+256L);
+ }
+
+ public static int reduceVariableByAbsoluteValue(int variable)
+ {
+ if(variable==0)
+ {
+ return 0;
+ }
+ else if(variable<0)
+ {
+ return variable+1;
+ }
+ else
+ {
+ return variable-1;
+ }
+ }
+
+ public static long getXYZHash(int x,int y,int z)
+ {
+ return ((x&0x1FFFFF)<<42)|((y&0x1FFFFF)<<21)|(z&0x1FFFFF);
+ }
+
+ public static String trim(String str)
+ {
+ int len = str.length();
+ int start;
+ char c;
+ for (start = 0; start < len; ++start)
+ {
+ c = str.charAt(start);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ int end;
+ for (end = len - 1; end >= start; --end)
+ {
+ c = str.charAt(end);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ return start <= 0 && end >= len - 1 ? str : str.substring(start, end + 1);
+ }
+
+ public static int getAmountOf(ItemStack is)
+ {
+ if(is.getItem() instanceof IWire)
+ {
+ return getWireLength(is);
+ }
+ else
+ {
+ return is.stackSize;
+ }
+ }
+
+ public static ItemStack getWireItemStackCopyWithLengthMultiplied(ItemStack stack, int multiplier)
+ {
+ ItemStack out = stack.copy();
+ adjustWireLength(out,getWireLength(stack)*(multiplier-1));
+ return out;
+ }
+
+ public static ItemStack getUninsulatedWire(String material, int length, int transverseSection) {
+ ItemStack is = getThisModItemStack("copperWire");
+ is.stackTagCompound=new NBTTagCompound();
+ is.stackTagCompound.setBoolean("firstConnection",false);
+ is.stackTagCompound.setInteger("fullLength", length);
+ is.stackTagCompound.setInteger("length", length);
+ is.stackTagCompound.setBoolean("firstConnection", false);
+ is.stackTagCompound.setString("material", material);
+ is.stackTagCompound.setInteger("transverseSection",transverseSection);
+ is.stackTagCompound.setInteger("resistance", ElectricConductor.getResistivity(material)*100/transverseSection);
+ return is;
+ }
+
+ public static ItemStack getInsulatedWire(String material, int length, int transverseSection, String insulationMaterial, int insulationThickness) {
+ ItemStack is = getUninsulatedWire(material, length, transverseSection);
+ is.stackTagCompound.setString("insulationMaterial",insulationMaterial);
+ is.stackTagCompound.setInteger("insulationThickness",insulationThickness);
+ is.stackTagCompound.setInteger("maxVoltage", getInsulationMaxVoltage(insulationMaterial, insulationThickness));
+ return is;
+ }
+
+ public static int getInsulationMaxVoltage(String insulationMaterial, int insulationThickness)
+ {
+ return Math.min(Insulation.getMaxVoltagePermm(insulationMaterial)*insulationThickness/10,Insulation.getMaxVoltageCap(insulationMaterial));
+ }
+
+ public static ItemStack getItemStackWithTag(String unLocalizedName, String tag, int tagValue) {
+ ItemStack stack = IHLUtils.getThisModItemStack(unLocalizedName);
+ if(stack.stackTagCompound==null)
+ {
+ stack.stackTagCompound=new NBTTagCompound();
+ }
+ stack.stackTagCompound.setInteger(tag, tagValue);
+ return stack;
+ }
+
+ public static boolean isSegmentInsideAABB(AxisAlignedBB collisionBox, double posX, double posY, double posZ, double posX2, double posY2, double posZ2)
+ {
+ if(isInsideofBoundingBox(collisionBox,(float)posX,(float)posY,(float)posZ)||isInsideofBoundingBox(collisionBox,(float)posX2,(float)posY2,(float)posZ2))
+ {
+ return true;
+ }
+ else
+ {
+ double minX=Math.min(posX, posX2);
+ double maxX=Math.max(posX, posX2);
+ double minY=Math.min(posY, posY2);
+ double maxY=Math.max(posY, posY2);
+ double minZ=Math.min(posZ, posZ2);
+ double maxZ=Math.max(posZ, posZ2);
+ return !(maxX<collisionBox.minX || minX>collisionBox.maxX ||
+ maxY<collisionBox.minY || minY>collisionBox.maxY ||
+ maxZ<collisionBox.minZ || minZ>collisionBox.maxZ);
+ }
+ }
+
+ public static boolean isInsideofBoundingBox(AxisAlignedBB bb, float xi, float yi, float zi)
+ {
+ return bb.maxX>xi && bb.minX<xi && bb.maxY>yi && bb.minY<yi && bb.maxZ>zi && bb.minZ<zi;
+ }
+
+ public static boolean isBlockCanBeReplaced(World world, int x, int y, int z)
+ {
+ Block block = world.getBlock(x, y, z);
+ if(block==Blocks.air || block.isAir(world, x, y, z) || block == Blocks.vine || block == Blocks.tallgrass || block == Blocks.deadbush || block == Blocks.snow_layer || block == Blocks.snow)
+ {
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/b01bf4eb46a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/b01bf4eb46a3001516ebc455efc032e5
new file mode 100644
index 0000000..43e3b2b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/b01bf4eb46a3001516ebc455efc032e5
@@ -0,0 +1,112 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+ File fileFrom = new File(IHLMod.class.getResource("/assets/ihl/config/ihl-guidebook.xml").getFile());
+ Files.copy(fileFrom, file);
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/b0b1b07b0b8e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/b0b1b07b0b8e00151544f45b8684d31e
new file mode 100644
index 0000000..64fb284
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/b0b1b07b0b8e00151544f45b8684d31e
@@ -0,0 +1,260 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+
+public class ExplosionVector
+{
+ public Set<Long> startVectors = new HashSet();
+ public Map<Long,Set<Long>> vectors = new HashMap();
+ public Map<Long,Integer> explosionPower = new HashMap();
+ public Map<Long,Float> explosionPowerDampingFactor = new HashMap();
+ private Random random = new Random();
+
+ public ExplosionVector()
+ {
+ this.precalculateExplosion();
+ }
+
+ public void precalculateExplosion()
+ {
+ int maxExplosionRadius=32;
+ for(int levelRadius=1; levelRadius<maxExplosionRadius; levelRadius++)
+ {
+ for(int ix=-levelRadius;ix<=levelRadius;ix++)
+ {
+ for(int iy=-levelRadius;iy<=levelRadius;iy++)
+ {
+ for(int iz=-levelRadius;iz<=levelRadius;iz++)
+ {
+ {
+ long coordinateKey = IHLUtils.encodeXYZ(ix,iy,iz);
+ if(!vectors.containsKey(coordinateKey))
+ {
+ int prevX=ix;
+ int prevY=iy;
+ int prevZ=iz;
+ if(Math.abs(ix)+Math.abs(iy)+Math.abs(iz)>Math.round(levelRadius*1.8f))
+ {
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(ix)<=Math.abs(iy) && Math.abs(ix)<=Math.abs(iz))
+ {
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(iy)<=Math.abs(ix) && Math.abs(iy)<=Math.abs(iz))
+ {
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ prevZ=reduceVariableByAbsoluteValue(prevZ);
+ }
+ else if(Math.abs(iz)<=Math.abs(ix) && Math.abs(iz)<=Math.abs(iy))
+ {
+ prevY=reduceVariableByAbsoluteValue(prevY);
+ prevX=reduceVariableByAbsoluteValue(prevX);
+ }
+ long prevKey = IHLUtils.encodeXYZ(prevX,prevY,prevZ);
+ if(prevX==ix && prevY==iy && prevZ==iz && levelRadius>1)
+ {
+ IHLMod.log.error("Was:"+ix+"/" +iy+"/" +iz+"/");
+ IHLMod.log.error("Now:"+prevX+"/" +prevY+"/" +prevZ+"/");
+ throw new ArithmeticException("Variables are out of expected range. \n Expected are not equal: "+ix+"="+prevX+" "+iy+"="+prevY+" "+iz+"="+prevZ);
+ }
+ if(levelRadius==1)
+ {
+ startVectors.add(coordinateKey);
+ this.addElement(coordinateKey, prevX, prevY, prevZ, ix, iy, iz);
+ }
+ else if(vectors.containsKey(prevKey))
+ {
+ prevKey=this.getParentWithLowestDescendantsRate(prevKey, prevX, prevY, prevZ, levelRadius);
+ vectors.get(prevKey).add(coordinateKey);
+ this.addElement(coordinateKey, prevX, prevY, prevZ, ix, iy, iz);
+ }
+ else
+ {
+ IHLMod.log.error("Was:"+ix+"/" +iy+"/" +iz+"/");
+ IHLMod.log.error("Now:"+prevX+"/" +prevY+"/" +prevZ+"/");
+ IHLMod.log.info("ExplosionVector is missing parent! Help him!");
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private long getParentWithLowestDescendantsRate(long prevKey, int prevX, int prevY, int prevZ, int levelRadius)
+ {
+ long prevKey1 = prevKey;
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ int x2,y2,z2;
+ int descendantsRate=vectors.get(prevKey).size();
+ for(int i=0;i<=5;i++)
+ {
+ x2=prevX+xyzi[i];
+ y2=prevY+xyzi[i+2];
+ z2=prevZ+xyzi[i+1];
+ long newKey = IHLUtils.encodeXYZ(x2, y2, z2);
+ boolean atALevelRadius = (Math.abs(x2)==levelRadius-1||Math.abs(y2)==levelRadius-1||Math.abs(z2)==levelRadius-1)&&(Math.abs(x2)<levelRadius && Math.abs(y2)<levelRadius && Math.abs(z2)<levelRadius);
+ if(atALevelRadius && vectors.get(newKey).size()<descendantsRate)
+ {
+ descendantsRate=vectors.get(newKey).size();
+ prevKey1=newKey;
+ }
+ else if(atALevelRadius && vectors.get(newKey).size()==descendantsRate)
+ {
+ if(random.nextBoolean())
+ {
+ descendantsRate=vectors.get(newKey).size();
+ prevKey1=newKey;
+ }
+ }
+ }
+ return prevKey1;
+ }
+
+ private void addElement(long coordinateKey, int prevX, int prevY, int prevZ, int ix, int iy, int iz)
+ {
+ vectors.put(coordinateKey, new HashSet());
+ float df = (float)(prevX*prevX+prevY*prevY+prevZ*prevZ+1)/(float)(ix*ix+iy*iy+iz*iz+1);
+ explosionPowerDampingFactor.put(coordinateKey,df);
+ }
+
+ public void setPower(int power1)
+ {
+ for(long ev:startVectors)
+ {
+ this.explosionPower.put(ev, power1);
+ }
+
+ }
+
+ public Set<Long> breakBlocksAndGetDescendants(World world, EntityIHLExplosion exploder, Explosion explosion, long longNumber)
+ {
+ int multiplier = exploder.multiplier;
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int power1 = explosionPower.get(longNumber);
+ int repeat=0;
+ //System.out.println("Power before " + power1);
+ if(Math.abs(xyz[0])>=Math.abs(xyz[1]) && Math.abs(xyz[0])>=Math.abs(xyz[2]))
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ else if(Math.abs(xyz[1])>=Math.abs(xyz[0]) && Math.abs(xyz[1])>=Math.abs(xyz[2]))
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ else
+ {
+ for(int iz=xyz[2]>0?0:multiplier-1;iz<multiplier && iz>=0;iz=xyz[2]>0?iz+1:iz-1)
+ {
+ for(int ix=xyz[0]>0?0:multiplier-1;ix<multiplier && ix>=0;ix=xyz[0]>0?ix+1:ix-1)
+ {
+ for(int iy=xyz[1]>0?0:multiplier-1;iy<multiplier && iy>=0;iy=xyz[1]>0?iy+1:iy-1)
+ {
+ power1 = this.getNewPowerAndProcessBlocks(world, exploder, explosion, xyz, multiplier, ix, iy, iz, power1);
+ }
+ }
+ }
+ }
+ power1=Math.round(power1*explosionPowerDampingFactor.get(longNumber)-0.5f);
+ //System.out.println("Power after " + power1 + " \n repeats "+repeat);
+ if(power1<=1 || !vectors.containsKey(longNumber)|| vectors.get(longNumber).isEmpty())
+ {
+ exploder.effectBorderBlocks.add(longNumber);
+ if(xyz[1]<0 || (exploder.y<=6 && xyz[1]<=6))
+ {
+ exploder.effectBorderBlocksWithLowPosition.add(longNumber);
+ }
+ return null;
+ }
+ else
+ {
+ for(long d1:vectors.get(longNumber))
+ {
+ explosionPower.put(d1, power1);
+ }
+ return vectors.get(longNumber);
+ }
+ }
+
+ private int reduceVariableByAbsoluteValue(int variable)
+ {
+ if(variable==0)
+ {
+ return 0;
+ }
+ else if(variable<0)
+ {
+ return variable+1;
+ }
+ else
+ {
+ return variable-1;
+ }
+ }
+
+ private int getNewPowerAndProcessBlocks(World world, EntityIHLExplosion exploder, Explosion explosion, int xyz[], int multiplier, int ix, int iy, int iz, int power2)
+ {
+ int power1=power2;
+ int x = exploder.x+xyz[0]*multiplier+ix;
+ int y = exploder.y+xyz[1]*multiplier+iy;
+ int z = exploder.z+xyz[2]*multiplier+iz;
+ if(y<=4 || y>256)
+ {
+ return 0;
+ }
+ Block block = exploder.getBlock(x, y, z);
+ int explosionResistance = Math.round(block.getExplosionResistance(exploder, world, x, y, z, exploder.x, exploder.y, exploder.z)*10f);
+ if(explosionResistance>=power1)
+ {
+ power1=0;
+ }
+ else
+ {
+ power1-=Math.round(block.getExplosionResistance(exploder, world, x, y, z, exploder.x, exploder.y, exploder.z)*10f);
+ Entity entity = exploder.getEntity(x, y, z);
+ if(entity!=null)
+ {
+ entity.attackEntityFrom(exploder.damageSource, power1/10f);
+ }
+ block.onBlockDestroyedByExplosion(world, x, y, z, explosion);
+ exploder.setBlockToAir(x, y, z);
+ }
+ return power1;
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700d2b9561b500151fdb993ef9230294 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700d2b9561b500151fdb993ef9230294
new file mode 100644
index 0000000..735124b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700d2b9561b500151fdb993ef9230294
@@ -0,0 +1,572 @@
+package ihl.flexible_cable;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
+import cpw.mods.fml.common.network.internal.FMLProxyPacket;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.interfaces.ICableHolder;
+import ihl.interfaces.IDataCableHolder;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.INetworkListener;
+import ihl.utils.IHLUtils;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufInputStream;
+import io.netty.buffer.ByteBufOutputStream;
+import io.netty.buffer.Unpooled;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldServer;
+
+public class NodeEntity extends Entity implements INetworkListener{
+
+ public Entity prevAnchorEntity;
+ public Entity nextAnchorEntity;
+ private int anchorX;
+ private int anchorY;
+ private int anchorZ;
+ private short anchorFacing;
+ private int anchorDimensionId;
+ public ItemStack attachedItem;
+ protected int chainUniqueID=-2;
+ public int chainArrangeNumber=-2;
+ protected int checkTimer=201;
+ public int colorIndex=16777215;
+ public int type=1;//0 - uninsulated wire; 1 - insulated cable; 2 - data cable
+ public float dx0=0;
+ public float dy0=0;
+ public float dz0=0;
+ public final int n=64;
+ public final float[] rotationPitchArray = new float[n+1];
+ public final float[] rotationYawArray = new float[n+1];
+ public final float[] translationX = new float[n+1];
+ public final float[] translationY = new float[n+1];
+ public final float[] translationZ = new float[n+1];
+ public float virtualNodePosX;
+ public float virtualNodePosY;
+ public float virtualNodePosZ;
+ public float renderPosX;
+ public float renderPosY;
+ public float renderPosZ;
+
+ public NodeEntity(World world)
+ {
+ super(world);
+ if(world.isRemote)
+ {
+ IHLMod.proxy.addEntityToList(this);
+ this.setSize(2f, 0.2f);
+ }
+ else
+ {
+ IHLMod.proxy.addEntityToServerList(this);
+ this.setSize(0.5F, 0.1F);
+ }
+ this.renderDistanceWeight = 5.0D;
+ this.yOffset+=0.15F;
+ this.virtualNodePosX=(float) this.posX;
+ this.virtualNodePosY=(float) this.posY;
+ this.virtualNodePosZ=(float) this.posZ;
+ }
+
+ @Override
+ public void setInPortal(){}
+
+ @Override
+ public void travelToDimension(int dimensionId){}
+
+ public void setSize(float width, float heigth)
+ {
+ super.setSize(width, heigth);
+ }
+
+ public void setVirtualNodePos(float posX,float posY, float posZ)
+ {
+ virtualNodePosX=posX;
+ virtualNodePosY=posY;
+ virtualNodePosZ=posZ;
+ this.registerAndSendData(null);
+ }
+
+ public void registerAndSendData(EntityPlayerMP player)
+ {
+ if(!worldObj.isRemote)
+ {
+ Set<NodeEntity> nes;
+ if(IHLMod.proxy.nodeEntityRegistry.containsKey(this.getChainUniqueID()))
+ {
+ nes=IHLMod.proxy.nodeEntityRegistry.get(this.getChainUniqueID());
+ }
+ else
+ {
+ nes=new HashSet();
+ IHLMod.proxy.nodeEntityRegistry.put(this.getChainUniqueID(),nes);
+ }
+ nes.add(this);
+ ByteBuf bb = Unpooled.buffer(30);
+ ByteBufOutputStream byteBufOutputStream = new ByteBufOutputStream(bb);
+ try
+ {
+ byteBufOutputStream.write(1);
+ byteBufOutputStream.writeInt(this.getEntityId());
+ byteBufOutputStream.writeInt(this.getChainUniqueID());
+ byteBufOutputStream.writeInt(this.chainArrangeNumber);
+ byteBufOutputStream.writeByte(this.type);
+ byteBufOutputStream.writeInt(this.colorIndex);
+ byteBufOutputStream.writeFloat(this.virtualNodePosX);
+ byteBufOutputStream.writeFloat(this.virtualNodePosY);
+ byteBufOutputStream.writeFloat(this.virtualNodePosZ);
+ if(player==null)
+ {
+ IHLMod.proxy.sendFromServerToAll(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID));
+ }
+ else
+ {
+ IHLMod.proxy.sendFromServerToPlayer(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID),player);
+ }
+ byteBufOutputStream.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onUpdate()
+ {
+ super.onUpdate();
+ if(!noClip && !worldObj.isRemote)
+ {
+ this.moveEntity(this.motionX, this.motionY, this.motionZ);
+ }
+ if(this.checkTimer==201)
+ {
+ if(worldObj.isRemote)
+ {
+ IHLMod.proxy.recieveDelayedDataPacket(this);
+ }
+ else
+ {
+ this.registerAndSendData(null);
+ }
+ }
+ if((prevAnchorEntity==null && !noClip)||(nextAnchorEntity==null || nextAnchorEntity instanceof EntityPlayer || nextAnchorEntity instanceof EntityItem))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<NodeEntity> eItemsList = this.worldObj.getEntitiesWithinAABB(NodeEntity.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ NodeEntity node=(NodeEntity) ei.next();
+ if(node.getChainUniqueID()==this.getChainUniqueID())
+ {
+ if(node.chainArrangeNumber==this.chainArrangeNumber-1)
+ {
+ this.prevAnchorEntity=node;
+ node.nextAnchorEntity=this;
+ }
+ else if(node.chainArrangeNumber==this.chainArrangeNumber+1)
+ {
+ this.nextAnchorEntity=node;
+ node.prevAnchorEntity=this;
+ }
+ }
+ if(prevAnchorEntity!=null && nextAnchorEntity!=null)
+ {
+ break;
+ }
+ }
+ }
+ }
+ if(this.attachedItem!=null && (this.nextAnchorEntity == null || this.nextAnchorEntity.isDead) && !this.noClip)
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityPlayer> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityPlayer player=(EntityPlayer) ei.next();
+ if(this.playerHasItemStack(player))
+ {
+ this.nextAnchorEntity=player;
+ }
+
+ }
+ }
+ }
+ if(this.attachedItem!=null && this.nextAnchorEntity instanceof EntityPlayer && !noClip)
+ {
+ EntityPlayer player = (EntityPlayer) this.nextAnchorEntity;
+ if(!this.playerHasItemStack(player))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator<EntityItem> ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityItem eitem = ei.next();
+ if(eitem.getEntityItem().isItemEqual(this.attachedItem))
+ {
+ this.nextAnchorEntity=eitem;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if(!worldObj.isRemote)
+ {
+ {
+ double x0,x2,y0,y2,z0,z2;
+ x2=x0=this.virtualNodePosX;
+ y2=y0=this.virtualNodePosY;
+ z2=z0=this.virtualNodePosZ;
+ if(nextAnchorEntity!=null)
+ {
+ x2=nextAnchorEntity.posX;
+ y2=nextAnchorEntity.posY;
+ z2=nextAnchorEntity.posZ;
+ }
+ if(prevAnchorEntity!=null)
+ {
+ x0=prevAnchorEntity.posX;
+ y0=prevAnchorEntity.posY;
+ z0=prevAnchorEntity.posZ;
+ }
+
+ double d1 = (x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)+(z0-z2)*(z0-z2);
+ if(d1>4D)
+ {
+ this.motionX=(x0+x2)*0.05D-this.posX*0.1D;
+ this.motionY=(y0+y2)*0.05D-this.posY*0.1D;
+ this.motionZ=(z0+z2)*0.05D-this.posZ*0.1D;
+ if(nextAnchorEntity!=null && this.getDistanceSqToEntity(nextAnchorEntity)>4D)
+ {
+ this.nextAnchorEntity.addVelocity((this.posX-this.nextAnchorEntity.posX)*0.01D, (this.posY-this.nextAnchorEntity.posY)*0.01D, (this.posZ-this.nextAnchorEntity.posZ)*0.01D);
+ }
+ }
+ else
+ {
+ double d2 = this.getDistanceSq(x2,y2,z2);
+ if(d2>1D)
+ {
+ this.motionX+=(x2-this.posX)*0.01D;
+ this.motionY+=(y2-this.posY)*0.01D;
+ this.motionZ+=(z2-this.posZ)*0.01D;
+ }
+ double d3 = this.getDistanceSq(x0,y0,z0);
+ if(d3>1D)
+ {
+ this.motionX+=(x0-this.posX)*0.01D;
+ this.motionY+=(y0-this.posY)*0.01D;
+ this.motionZ+=(z0-this.posZ)*0.01D;
+ }
+ }
+ this.motionY-=0.005D;
+ }
+ }
+ if(this.onGround)
+ {
+ this.motionY *= -0.5D;
+ }
+ this.motionX*=0.9D;
+ this.motionY*=0.9D;
+ this.motionZ*=0.9D;
+ if(worldObj.isRemote)
+ {
+ this.renderPosX=(float) this.prevPosX;
+ this.renderPosY=(float) this.prevPosY;
+ this.renderPosZ=(float) this.prevPosZ;
+ float xi,yi,zi;
+ float x0=xi=(float)this.prevPosX;
+ float y0=yi=(float)this.prevPosY;
+ float z0=zi=(float)this.prevPosZ;
+ float dx0=this.dx0;
+ float dy0=this.dy0;
+ float dz0=this.dz0;
+ float dx1=this.virtualNodePosX-xi;
+ float dy1=this.virtualNodePosY-yi;
+ float dz1=this.virtualNodePosZ-zi;
+ if(this.nextAnchorEntity!=null)
+ {
+ dx1=(float) (this.nextAnchorEntity.prevPosX-xi);
+ dy1=(float) (this.nextAnchorEntity.prevPosY-yi);
+ dz1=(float) (this.nextAnchorEntity.prevPosZ-zi);
+ }
+ if(this.prevAnchorEntity==null)
+ {
+ this.renderPosX=x0=xi=this.virtualNodePosX;
+ this.renderPosY=y0=yi=this.virtualNodePosY;
+ this.renderPosZ=z0=zi=this.virtualNodePosZ;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ if(((NodeEntity)this.nextAnchorEntity).nextAnchorEntity!=null)
+ {
+ Entity nne = ((NodeEntity)this.nextAnchorEntity).nextAnchorEntity;
+ dx1=(float) (nne.prevPosX-xi);
+ dy1=(float) (nne.prevPosY-yi);
+ dz1=(float) (nne.prevPosZ-zi);
+ }
+ else
+ {
+ dx1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosX-xi);
+ dy1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosY-yi);
+ dz1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosZ-zi);
+ }
+ }
+ float x1=this.virtualNodePosX;
+ float y1=this.virtualNodePosY;
+ float z1=this.virtualNodePosZ;
+ if(this.nextAnchorEntity!=null)
+ {
+ x1=(float)this.nextAnchorEntity.prevPosX;
+ y1=(float)this.nextAnchorEntity.prevPosY;
+ z1=(float)this.nextAnchorEntity.prevPosZ;
+ }
+ int i1=0;
+ for(float i=1f/n;i<=1f+1f/n;i+=1f/n,i1++)
+ {
+ float dxi = xi;
+ float dyi = yi;
+ float dzi = zi;
+ xi=(dx1-2*x1+2*dx0+2*x0-dx0)*i*i*i+(3*x1-dx1-3*dx0-3*x0+dx0)*i*i+dx0*i+x0;
+ yi=(dy1-2*y1+2*dy0+2*y0-dy0)*i*i*i+(3*y1-dy1-3*dy0-3*y0+dy0)*i*i+dy0*i+y0;
+ zi=(dz1-2*z1+2*dz0+2*z0-dz0)*i*i*i+(3*z1-dz1-3*dz0-3*z0+dz0)*i*i+dz0*i+z0;
+ int blockX=(int)xi;
+ int blockY=(int)yi;
+ int blockZ=(int)zi;
+ dxi-=xi;
+ dyi-=yi;
+ dzi-=zi;
+ double var7 = MathHelper.sqrt_double(dxi * dxi + dzi * dzi);
+ float var9 = (float)(Math.atan2(dzi, dxi) * 180.0D / Math.PI) - 90.0F;
+ float var10 = (float)(-(Math.atan2(dyi, var7) * 180.0D / Math.PI));
+ float rotationPitch = (float) Math.atan2(dxi, dzi);
+ float rotationYaw = (float) (-Math.atan2(dyi, var7));
+ rotationPitchArray[i1]=rotationPitch;
+ rotationYawArray[i1]=rotationYaw;
+ translationX[i1]=dxi;
+ translationY[i1]=dyi;
+ translationZ[i1]=dzi;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ NodeEntity next = (NodeEntity) this.nextAnchorEntity;
+ next.dx0=dx1;
+ next.dy0=dy1;
+ next.dz0=dz1;
+ }
+ }
+ if(--this.checkTimer<=0)
+ {
+ if(!worldObj.isRemote)
+ {
+ WorldServer world = MinecraftServer.getServer().worldServerForDimension(this.anchorDimensionId);
+ TileEntity te = world.getTileEntity(this.anchorX, this.anchorY, this.anchorZ);
+ if(te==null || !(te instanceof ICableHolder || te instanceof AnchorTileEntity))
+ {
+ this.setDead();
+ }
+ }
+ this.checkTimer=200;
+ }
+ }
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound nbt)
+ {
+ this.noClip=nbt.getBoolean("noClip");
+ this.setChainUniqueID(nbt.getInteger("chainUniqueID"));
+ this.chainArrangeNumber=nbt.getInteger("chainArrangeNumber");
+ this.anchorX=nbt.getInteger("anchorX");
+ this.anchorY=nbt.getInteger("anchorY");
+ this.anchorZ=nbt.getInteger("anchorZ");
+ this.anchorFacing=nbt.getShort("anchorFacing");
+ this.anchorDimensionId=nbt.getInteger("anchorDimensionId");
+ this.type=nbt.getInteger("type");
+ this.colorIndex=nbt.getInteger("colorIndex");
+ if(nbt.hasKey("itemStack"))
+ {
+ NBTTagCompound stackTag = (NBTTagCompound) nbt.getTag("itemStack");
+ this.attachedItem = ItemStack.loadItemStackFromNBT(stackTag);
+ }
+ if(nbt.hasKey("width"))
+ {
+ this.setSize(nbt.getFloat("width"), nbt.getFloat("height"));
+ }
+ this.virtualNodePosX=nbt.getFloat("virtualNodePosX");
+ this.virtualNodePosY=nbt.getFloat("virtualNodePosY");
+ this.virtualNodePosZ=nbt.getFloat("virtualNodePosZ");
+ }
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound nbt)
+ {
+ nbt.setFloat("width", this.width);
+ nbt.setFloat("height", this.height);
+ nbt.setBoolean("noClip", noClip);
+ nbt.setInteger("chainUniqueID", this.getChainUniqueID());
+ nbt.setInteger("chainArrangeNumber", this.chainArrangeNumber);
+ nbt.setInteger("anchorX", this.anchorX);
+ nbt.setInteger("anchorY", this.anchorY);
+ nbt.setInteger("anchorZ", this.anchorZ);
+ nbt.setShort("anchorFacing",this.anchorFacing);
+ nbt.setInteger("anchorDimensionId",this.anchorDimensionId);
+ nbt.setInteger("type", this.type);
+ nbt.setInteger("colorIndex", this.colorIndex);
+ if(this.attachedItem!=null)
+ {
+ NBTTagCompound stackTag = new NBTTagCompound();
+ this.attachedItem.writeToNBT(stackTag);
+ nbt.setTag("itemStack",stackTag);
+ }
+ nbt.setFloat("virtualNodePosX",this.virtualNodePosX);
+ nbt.setFloat("virtualNodePosY",this.virtualNodePosY);
+ nbt.setFloat("virtualNodePosZ",this.virtualNodePosZ);
+ }
+
+ public void setAnchor(int x, int y, int z, short facing, int dimensionId)
+ {
+ this.anchorX=x;
+ this.anchorY=y;
+ this.anchorZ=z;
+ this.anchorFacing=facing;
+ this.anchorDimensionId=dimensionId;
+ }
+
+ public boolean playerHasItemStack(EntityPlayer player)
+ {
+ int var2;
+
+ for (var2 = 0; var2 < player.inventory.armorInventory.length; ++var2)
+ {
+ if (player.inventory.armorInventory[var2] != null && player.inventory.armorInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.armorInventory[var2].stackTagCompound==null?false:player.inventory.armorInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ for (var2 = 0; var2 < player.inventory.mainInventory.length; ++var2)
+ {
+ if (player.inventory.mainInventory[var2] != null && player.inventory.mainInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.mainInventory[var2].stackTagCompound==null?false:player.inventory.mainInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ return false;
+ }
+
+ public int getChainUniqueID() {
+ return chainUniqueID;
+ }
+
+ public void setChainUniqueID(int chainUniqueID) {
+ this.chainUniqueID = chainUniqueID;
+ }
+
+ @Override
+ public AxisAlignedBB getCollisionBox(Entity entity)
+ {
+ if(this.noClip)
+ {
+ return null;
+ }
+ else
+ {
+ return super.getCollisionBox(entity);
+ }
+ }
+
+ @Override
+ public int getId()
+ {
+ return this.getEntityId();
+ }
+
+ @Override
+ public void recieveData(ByteBufInputStream byteBufInputStream)
+ {
+ try
+ {
+ this.setChainUniqueID(byteBufInputStream.readInt());
+ this.chainArrangeNumber=byteBufInputStream.readInt();
+ this.type=byteBufInputStream.readByte();
+ this.colorIndex=byteBufInputStream.readInt();
+ this.virtualNodePosX=byteBufInputStream.readFloat();
+ this.virtualNodePosY=byteBufInputStream.readFloat();
+ this.virtualNodePosZ=byteBufInputStream.readFloat();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ public boolean isInvalid()
+ {
+ return this.isDead;
+ }
+
+ public void setVirtualNodePosToNearestPortal()
+ {
+ int x0 = (int)this.posX;
+ int y0 = (int)this.posY;
+ int z0 = (int)this.posZ;
+ for(int xi=x0-2;xi<=x0+2;xi++)
+ {
+ for(int yi=y0-2;yi<=y0+2;yi++)
+ {
+ for(int zi=z0-2;zi<=z0+2;zi++)
+ {
+ Block block = worldObj.getBlock(xi, yi, zi);
+ if(block==Blocks.portal||block==Blocks.end_portal)
+ {
+ this.setVirtualNodePos(xi+0.5f, yi+0.5f, zi+0.5f);
+ return;
+ }
+ }
+ }
+ }
+
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a0/00f7674b748b0015134481ec712b17ae b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a0/00f7674b748b0015134481ec712b17ae
new file mode 100644
index 0000000..bbc52ab
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a0/00f7674b748b0015134481ec712b17ae
@@ -0,0 +1,274 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/4063232,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ long longNumber = ebbi.next();
+ ebbi.remove();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(this.isBlockConnectedWithBedrock(longNumber))
+ {
+
+ }
+ }
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ Set<Long> path = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ break;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/b0dbc47f07a50015138cc582c427ac91 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/b0dbc47f07a50015138cc582c427ac91
new file mode 100644
index 0000000..4b8e182
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/b0dbc47f07a50015138cc582c427ac91
@@ -0,0 +1,66 @@
+package ihl.processing.chemistry;
+
+import ic2.core.ContainerBase;
+import ic2.core.slot.SlotInvSlot;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.Slot;
+
+public class LoomContainer extends ContainerBase {
+
+ public LoomTileEntity tileEntity;
+ public int lastProgress = -1;
+ private final static int height=166;
+
+ public LoomContainer(EntityPlayer entityPlayer,
+ LoomTileEntity lathePart1TileEntity) {
+ super(lathePart1TileEntity);
+ tileEntity=lathePart1TileEntity;
+ int col;
+
+ for (col = 0; col < 3; ++col)
+ {
+ for (int col1 = 0; col1 < 9; ++col1)
+ {
+ this.addSlotToContainer(new Slot(entityPlayer.inventory, col1 + col * 9 + 9, 8 + col1 * 18, height + -82 + col * 18));
+ }
+ }
+
+ for (col = 0; col < 9; ++col)
+ {
+ this.addSlotToContainer(new Slot(entityPlayer.inventory, col, 8 + col * 18, height + -24));
+ }
+ this.addSlotToContainer(new SlotInvSlot(lathePart1TileEntity.input, 0, 8, 44));
+ this.addSlotToContainer(new SlotInvSlot(lathePart1TileEntity.output, 0, 127, 44));
+ }
+
+ @Override
+ public void detectAndSendChanges()
+ {
+ super.detectAndSendChanges();
+ for (int i = 0; i < this.crafters.size(); ++i)
+ {
+ ICrafting icrafting = (ICrafting)this.crafters.get(i);
+ if (this.tileEntity.progress != this.lastProgress)
+ {
+ icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.progress);
+ }
+ }
+ this.lastProgress = this.tileEntity.progress;
+ }
+
+ @Override
+ public void updateProgressBar(int index, int value)
+ {
+ super.updateProgressBar(index, value);
+
+ switch (index)
+ {
+ case 0:
+ this.tileEntity.progress=(short) value;
+ break;
+
+ }
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/f042703fd8b20015115782a55d40af78 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/f042703fd8b20015115782a55d40af78
new file mode 100644
index 0000000..084b4c0
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/f042703fd8b20015115782a55d40af78
@@ -0,0 +1,395 @@
+package ihl.flexible_cable;
+
+import ic2.api.energy.EnergyNet;
+import ic2.api.energy.event.EnergyTileLoadEvent;
+import ic2.api.energy.event.EnergyTileUnloadEvent;
+import ic2.api.energy.tile.IEnergySink;
+import ic2.api.energy.tile.IEnergySource;
+import ic2.core.ExplosionIC2;
+import ic2.core.IC2;
+import ic2.core.block.TileEntityBlock;
+import ihl.IHLMod;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.utils.IHLUtils;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.world.World;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.util.ForgeDirection;
+
+public class AnchorTileEntity extends TileEntityBlock implements IEnergySink, IEnergySource
+{
+ public boolean addedToEnergyNet=false;
+ private final Set<TileEntity> sacrifices = new HashSet<TileEntity>();
+ public SubAnchorEnergyNetNode[] energyNetNodes = new SubAnchorEnergyNetNode[6];
+ public boolean[] hasCableOnSide=new boolean [] {false,false,false,false,false,false};
+ public int checksum=-1;
+
+ public AnchorTileEntity()
+ {
+ super();
+ for(short i=0;i<6;i++)
+ {
+ energyNetNodes[i] = new SubAnchorEnergyNetNode(this, i);
+ }
+ }
+
+ @Override
+ public List<String> getNetworkedFields()
+ {
+ List<String> fields = super.getNetworkedFields();
+ fields.add("hasCableOnSide");
+ return fields;
+ }
+
+ @Override
+ public void onLoaded()
+ {
+ super.onLoaded();
+ if (IC2.platform.isSimulating()&&!this.addedToEnergyNet)
+ {
+ MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(this));
+ this.addedToEnergyNet = true;
+ }
+ for(short i=0;i<6;i++)
+ {
+ energyNetNodes[i].onLoaded();
+ }
+ }
+
+ @Override
+ public void onUnloaded()
+ {
+ if (IC2.platform.isSimulating())
+ {
+ if(this.addedToEnergyNet)
+ {
+ MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(this));
+ this.addedToEnergyNet = false;
+ }
+ }
+ }
+
+ @Override
+ public boolean wrenchCanRemove(EntityPlayer var1)
+ {
+ return false;
+ }
+
+ public boolean enableUpdateEntity()
+ {
+ return IC2.platform.isSimulating();
+ }
+
+ @Override
+ public void updateEntityServer()
+ {
+ if(!sacrifices.isEmpty())
+ {
+ Iterator<TileEntity> victimIterator = sacrifices.iterator();
+ while(victimIterator.hasNext())
+ {
+ TileEntity sacrifice = victimIterator.next();
+ ExplosionIC2 explosion = new ExplosionIC2(this.worldObj, null, sacrifice.xCoord+0.5D, sacrifice.yCoord+0.5D, sacrifice.zCoord+0.5D, 3F, 0.3F, ExplosionIC2.Type.Normal, null, 0);
+ explosion.doExplosion();
+ sacrifices.remove(sacrifice);
+ }
+
+ }
+ int newchecksum=0;
+ for(short i=0;i<6;i++)
+ {
+ if(this.hasCableOnSide[i])
+ {
+ newchecksum++;
+ }
+ }
+ if(newchecksum!=checksum)
+ {
+ IC2.network.get().updateTileEntityField(this, "hasCableOnSide");
+ checksum=newchecksum;
+ }
+ else if(newchecksum==0)
+ {
+ for(short i=0;i<6;i++)
+ {
+ if(!this.energyNetNodes[i].getCableList().isEmpty())
+ {
+ newchecksum++;
+ }
+ }
+ //if(newchecksum==0)worldObj.setBlockToAir(xCoord, yCoord, zCoord);
+ }
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound nbt) {
+ super.writeToNBT(nbt);
+ NBTTagList energyNetNodeNBTList = new NBTTagList();
+ for(SubAnchorEnergyNetNode node:this.energyNetNodes)
+ {
+ energyNetNodeNBTList.appendTag(node.writeToNBT());
+ }
+ nbt.setTag("energyNetNodes", energyNetNodeNBTList);
+ if(nbt.hasKey("facing"))
+ {
+ nbt.removeTag("facing");
+ }
+ }
+
+ @Override
+ public void readFromNBT(NBTTagCompound nbt) {
+ super.readFromNBT(nbt);
+ if(nbt.hasKey("facing"))
+ {
+ short facing = nbt.getShort("facing");
+ int gridID=nbt.getInteger("gridID");
+ this.energyNetNodes[facing].setGrid(gridID);
+ NBTTagList cableNBTList=nbt.getTagList("cableList", 10);
+ for(int i=0;i<cableNBTList.tagCount();i++)
+ {
+ this.energyNetNodes[facing].addCable(cableNBTList.getCompoundTagAt(i));
+ }
+ }
+ else
+ {
+ NBTTagList energyNetNodeNBTList=nbt.getTagList("energyNetNodes", 10);
+ for(int i=0;i<6;i++)
+ {
+ this.energyNetNodes[i].readFromNBT(energyNetNodeNBTList.getCompoundTagAt(i));
+ }
+ }
+ }
+
+ @Override
+ public void setFacing(short facing)
+ {
+ System.out.println("facing");
+ this.energyNetNodes[facing].removeAttachedChains();
+ boolean removeTE=true;
+ for(short i=0;i<6;i++)
+ {
+ if(!energyNetNodes[i].getCableList().isEmpty())
+ {
+ System.out.println("not empty="+i);
+ removeTE=false;
+ }
+ }
+ if(removeTE)
+ {
+ worldObj.setBlockToAir(xCoord, yCoord, zCoord);
+ }
+ }
+
+ @Override
+ public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction)
+ {
+ switch(direction)
+ {
+ case UP:
+ return this.energyNetNodes[0].getGridID()!=-1;
+ case DOWN:
+ return this.energyNetNodes[1].getGridID()!=-1;
+ case SOUTH:
+ return this.energyNetNodes[2].getGridID()!=-1;
+ case NORTH:
+ return this.energyNetNodes[3].getGridID()!=-1;
+ case EAST:
+ return this.energyNetNodes[4].getGridID()!=-1;
+ case WEST:
+ return this.energyNetNodes[5].getGridID()!=-1;
+ default:
+ return false;
+ }
+ }
+
+ @Override
+ public boolean emitsEnergyTo(TileEntity receiver, ForgeDirection direction)
+ {
+ return this.acceptsEnergyFrom(receiver, direction);
+ }
+
+ @Override
+ public double getOfferedEnergy()
+ {
+ double offeredEnergy=0d;
+ for(short i=0;i<6;i++)
+ {
+ offeredEnergy+=energyNetNodes[i].getOfferedEnergy();
+ }
+ return offeredEnergy;
+ }
+
+ @Override
+ public void drawEnergy(double amount)
+ {
+ for(short i=0;i<6;i++)
+ {
+ amount-=energyNetNodes[i].drawEnergy(amount);
+ double voltage = energyNetNodes[i].getVoltage();
+ if(voltage>500D)
+ {
+ Set<TileEntity> teset = new HashSet<TileEntity>();
+ ForgeDirection direction = ForgeDirection.getOrientation(i).getOpposite();
+ TileEntity te = EnergyNet.instance.getNeighbor(this, direction);
+ teset.add(te);
+ TileEntity te1 = this.getSink(te, teset);
+ if(te1 instanceof IEnergyNetNode)
+ {
+ if(((IEnergyNetNode)te1).getMaxAllowableVoltage()>=voltage)
+ {
+ return;
+ }
+ }
+ if(te1!=null)
+ {
+ sacrifices.add(te1);
+ }
+ }
+ if(amount<=0d)
+ {
+ break;
+ }
+ }
+ }
+
+ @Override
+ public int getSourceTier() {
+ return 4;
+ }
+
+ @Override
+ public double getDemandedEnergy()
+ {
+ double amount=0d;
+ for(short i=0;i<6;i++)
+ {
+ amount+=energyNetNodes[i].getDemandedEnergy();
+ }
+ return amount;
+ }
+
+ @Override
+ public int getSinkTier() {
+ return 4;
+ }
+
+ @Override
+ public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) {
+ if (directionFrom.flag>5 || this.energyNetNodes[directionFrom.flag].getGridID()==-1 || this.energyNetNodes[directionFrom.flag].getGrid().energy > 1D)
+ {
+ return amount;
+ }
+ else
+ {
+ this.energyNetNodes[directionFrom.flag].getGrid().injectEnergy(amount, 400D, this.energyNetNodes[directionFrom.flag]);
+ return 0.0D;
+ }
+ }
+
+ @Override
+ public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
+ {
+ return null;
+ }
+
+ @Override
+ public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side)
+ {
+ return !this.wrenchCanRemove(entityPlayer);
+ }
+
+ private TileEntity getSink(TileEntity te, Set<TileEntity> teset)
+ {
+ teset.add(te);
+ while(te!=null && !(te instanceof IEnergySink))
+ {
+ TileEntity te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.NORTH);
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.SOUTH);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.UP);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.DOWN);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.WEST);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1==null || teset.contains(te1))
+ {
+ te1 = EnergyNet.instance.getNeighbor(te, ForgeDirection.EAST);
+ }
+ else
+ {
+ TileEntity te2 = this.getSink(te1, teset);
+ if(te2!=null)
+ {
+ return te2;
+ }
+ }
+ if(te1!=null)
+ {
+ teset.add(te1);
+ }
+ te=te1;
+ }
+ if(te instanceof IEnergySink)
+ {
+ return te;
+ }
+ else
+ {
+ return null;
+ }
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/d037e47347a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/d037e47347a3001516ebc455efc032e5
new file mode 100644
index 0000000..2ae6fb9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/d037e47347a3001516ebc455efc032e5
@@ -0,0 +1,113 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+ File fileFrom = new File(IHLMod.proxy.getMinecraftDir(),"/assets/ihl/config/ihl-guidebook.xml");
+ //File fileFrom = new File(IHLMod.class.getResource("/assets/ihl/config/ihl-guidebook.xml").getFile());
+ Files.copy(fileFrom, file);
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/b025dae449a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/b025dae449a3001516ebc455efc032e5
new file mode 100644
index 0000000..97c05f6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/b025dae449a3001516ebc455efc032e5
@@ -0,0 +1,116 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+// File fileFrom = new File(IHLMod.proxy.getMinecraftDir(),"/assets/ihl/config/ihl-guidebook.xml");
+ File fileFrom = new File(IHLMod.class.getResource("/assets/ihl/config/ihl-guidebook.xml").getFile());
+ Files.copy(fileFrom, file);
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/a00189f69cb4001510d7bdb0b1be77c9 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/a00189f69cb4001510d7bdb0b1be77c9
new file mode 100644
index 0000000..227d0c1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/a00189f69cb4001510d7bdb0b1be77c9
@@ -0,0 +1,934 @@
+package ihl.utils;
+
+import ic2.api.recipe.IRecipeInput;
+import ic2.api.recipe.RecipeInputItemStack;
+import ic2.api.recipe.RecipeInputOreDict;
+import ic2.api.recipe.Recipes;
+import ic2.core.block.invslot.InvSlotOutput;
+import ihl.IHLMod;
+import ihl.interfaces.IWire;
+import ihl.metallurgy.constants.*;
+import ihl.processing.invslots.InvSlotConsumableLiquidIHL;
+import ihl.recipes.IRecipeInputFluid;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.mutable.MutableObject;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.World;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidTank;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class IHLUtils
+{
+ private static Map<String,ItemStack> ihlItemStackRegistry = new HashMap();
+
+ public static void registerLocally(String name, ItemStack stack)
+ {
+ ihlItemStackRegistry.put(name, stack);
+ }
+
+ public static ItemStack getOreDictItemStack(String name)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=1;
+ return orecopy;
+ }
+
+ public static boolean hasOreDictionaryEntry(String name)
+ {
+ return !OreDictionary.getOres(name).isEmpty();
+ }
+
+ public static Item getOreDictItem(String name)
+ {
+ return OreDictionary.getOres(name).get(0).getItem();
+ }
+
+ public static Block getOreDictBlock(String name)
+ {
+ return Block.getBlockFromItem(OreDictionary.getOres(name).get(0).getItem());
+ }
+
+ public static ItemStack getOreDictItemStackWithSize(String name, int size)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=size;
+ return orecopy;
+ }
+
+ public static String getFirstOreDictName(ItemStack stack)
+ {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ if(arrayIDs.length>0)
+ {
+ return OreDictionary.getOreName(arrayIDs[0]);
+ }
+ return "";
+ }
+
+ public static ItemStack getThisModItemStack(String name)
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithSize(String name, int i) {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ ItemStack stack = ihlItemStackRegistry.get(name).copy();
+ stack.stackSize=i;
+ return stack;
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name),i);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name),i);
+ }
+ }
+
+ public static ItemStack getOtherModItemStackWithDamage(String modname, String name,int damage) {
+ if(GameRegistry.findItem(modname, name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem(modname, name),1,damage);
+ }
+ else if(GameRegistry.findBlock(modname, name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock(modname, name),1,damage);
+ }
+ }
+
+ public static Item getThisModItem(String name)
+ {
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return GameRegistry.findItem("ihl", name);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return Item.getItemFromBlock(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static FluidStack getFluidStackWithSize(String name, int i) {
+ if(FluidRegistry.isFluidRegistered(name))
+ {
+ return FluidRegistry.getFluidStack(name, i);
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such fluid: "+name);
+ }
+ }
+
+ public static Block getThisModBlock(String name)
+ {
+ if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such block in item registry: ihl:"+name);
+ }
+ else
+ {
+ return GameRegistry.findBlock("ihl", name);
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithDamage(String name,
+ int value)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ stack.setItemDamage(value);
+ return stack;
+ }
+
+ public static boolean adjustWireLength(ItemStack stack, int adjustBy)
+ {
+ int length = getWireLength(stack);
+ if(length<=0)
+ {
+ return true;
+ }
+ else
+ {
+ int newLength = Math.max(length+adjustBy,0);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),newLength);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),newLength);
+ if(newLength==0)
+ {
+ return true;
+ }
+ return false;
+ }
+ }
+
+ public static int getWireLength(ItemStack itemStack)
+ {
+ return itemStack.stackTagCompound.getInteger(((IWire)itemStack.getItem()).getTag());
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(String name, int i) {
+ if(getThisModItemStack(name)!=null)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ if(stack.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException("ihl:"+name + " is not an instance of IWire.");
+ }
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(ItemStack stack1, int i) {
+ ItemStack stack = stack1.copy();
+ if(stack1.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException(stack1.getUnlocalizedName() + " is not an instance of IWire.");
+ }
+ }
+
+ public static boolean isItemsHaveSameOreDictionaryEntry(ItemStack is, ItemStack is1)
+ {
+ int[] odids1 = OreDictionary.getOreIDs(is);
+ int[] odids2 = OreDictionary.getOreIDs(is1);
+ if(odids1!=null && odids1.length>0 && odids2!=null && odids2.length>0)
+ {
+ for(int i1=0;i1<odids1.length;i1++)
+ {
+ for(int i2=0;i2<odids2.length;i2++)
+ {
+ if(!OreDictionary.getOreName(odids1[i1]).contains("Any") && odids1[i1]==odids2[i2])
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ public static List<ItemStack> getEntryListForOre(String name)
+ {
+ ArrayList<ItemStack> outputList = new ArrayList<ItemStack>();
+ ArrayList<ItemStack> oreList = OreDictionary.getOres(name);
+ Iterator<ItemStack> oreListIterator = oreList.iterator();
+ while(oreListIterator.hasNext())
+ {
+ outputList.add(oreListIterator.next().copy());
+ }
+ return outputList;
+ }
+
+ public static ItemStack getItemStackIfExist(String name)
+ {
+ if(hasOreDictionaryEntry(name))
+ {
+ return getOreDictItemStack(name);
+ }
+ else
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+ }
+
+ public static FluidStack getFluidStackIfExist(String string, int meltingFluidAmount)
+ {
+ if(FluidRegistry.isFluidRegistered(string))
+ {
+ return getFluidStackWithSize(string,meltingFluidAmount);
+ }
+ return null;
+ }
+
+ public static boolean addItemStackToInventory(EntityPlayer player, ItemStack stack)
+ {
+ ItemStack[] inv = player.inventory.mainInventory;
+ for (int i=0;i<=35;i++)
+ {
+ if(inv[i]!=null)
+ {
+ if(inv[i].getItem()==stack.getItem())
+ {
+ if(inv[i].getItemDamage()==stack.getItemDamage() && inv[i].stackSize<inv[i].getMaxStackSize())
+ {
+ inv[i].stackSize+=stack.stackSize;
+ if(inv[i].stackSize>inv[i].getMaxStackSize())
+ {
+ stack.stackSize=inv[i].stackSize-inv[i].getMaxStackSize();
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+ }
+ else
+ {
+ inv[i]=stack;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static FluidStack getFluidStackWithSizeChemicallyPure(String name, int amount)
+ {
+ FluidStack fstack = getFluidStackWithSize(name, amount);
+ fstack.tag=new NBTTagCompound();
+ fstack.tag.setBoolean("chemicallyPure", true);
+ return fstack;
+ }
+
+ public static void removeItemStackFromOreDictionaryEntry(String orename, ItemStack itemStack)
+ {
+ ArrayList<ItemStack> orelist = OreDictionary.getOres(orename);
+ Iterator<ItemStack> oreListIterator = orelist.iterator();
+ ItemStack odstack = null;
+ while(oreListIterator.hasNext())
+ {
+ odstack = oreListIterator.next();
+ if(odstack.getItem()==itemStack.getItem())
+ {
+ break;
+ }
+ else
+ {
+ odstack = null;
+ }
+ }
+ if(odstack != null)
+ {
+ orelist.remove(odstack);
+ IHLMod.log.debug("Stack "+odstack.getDisplayName()+" ("+odstack.toString()+")"+" removed from ore entry '"+orename+"'");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(String input, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(getOreDictItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputOreDict(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(String input, int stacksize, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(getOreDictItemStackWithSize(input,stacksize), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputOreDict(input,stacksize), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(String input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(getThisModItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputOreDict(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2CentrifugeRecipe(String input, ItemStack output, ItemStack output2)
+ {
+ if(Recipes.centrifuge.getOutputFor(getOreDictItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ tag.setInteger("minHeat", 2000);
+ Recipes.centrifuge.addRecipe(new RecipeInputOreDict(input), tag, new ItemStack[] {output,output2});
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 centrifuge recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void damageItemViaNBTTag(ItemStack stack, int amount)
+ {
+ NBTTagCompound gtTagCompound;
+ if(stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+ int damage = 0;
+ int maxDamage = 0;
+ if(gtTagCompound.hasKey("MaxDamage"))
+ {
+ maxDamage = gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+
+ if(gtTagCompound.hasKey("Damage"))
+ {
+ damage = gtTagCompound.getInteger("Damage");
+ }
+ if(damage<maxDamage-amount)
+ {
+ damage+=amount;
+ gtTagCompound.setInteger("Damage",damage);
+ gtTagCompound.setInteger("MaxDamage",maxDamage);
+ stack.stackTagCompound.setTag("GT.ToolStats", gtTagCompound);
+ }
+ else
+ {
+ stack.stackSize--;
+ }
+ }
+
+ public static int getDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("Damage"))
+ {
+ return gtTagCompound.getInteger("Damage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static int getMaxDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("MaxDamage"))
+ {
+ return gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, ItemStack stack2, boolean useOreDictionary)
+ {
+ if(useOreDictionary && isItemsHaveSameOreDictionaryEntry(stack1,stack2))
+ {
+ return true;
+ }
+ else
+ {
+ if(stack1.getItemDamage()==OreDictionary.WILDCARD_VALUE || stack2.getItemDamage()==OreDictionary.WILDCARD_VALUE)
+ {
+ return stack1.getItem()==stack2.getItem();
+ }
+ else
+ {
+ return stack1.getItem()==stack2.getItem() && stack1.getItemDamage()==stack2.getItemDamage();
+ }
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, String stack2name, boolean useOreDictionary)
+ {
+ return isItemStacksIsEqual(stack1, getThisModItemStack(stack2name),useOreDictionary);
+ }
+
+ public static boolean isIRecipeInputMatchesWithAmount(IRecipeInput input, ItemStack stack)
+ {
+ if(input.matches(stack))
+ {
+ if(stack.getItem() instanceof IWire)
+ {
+ return getWireLength(stack)>=input.getAmount();
+ }
+ else
+ {
+ return stack.stackSize>=input.getAmount();
+ }
+ }
+ return false;
+ }
+
+ public static boolean reduceItemStackAmountUsingIRecipeInput(IRecipeInput input, ItemStack stack) {
+ if(stack.getItem() instanceof IWire)
+ {
+ return adjustWireLength(stack,-input.getAmount());
+ }
+ else
+ {
+ stack.stackSize-=input.getAmount();
+ return stack.stackSize<=0;
+ }
+ }
+
+ public static String getFirstOreDictNameExcludingTagAny(ItemStack stack) {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ for(int i=0;i<arrayIDs.length;i++)
+ {
+ if(!OreDictionary.getOreName(arrayIDs[i]).contains("Any"))
+ {
+ return OreDictionary.getOreName(arrayIDs[i]);
+ }
+ }
+ return "";
+ }
+
+ public static void handleFluidSlotsBehaviour(InvSlotConsumableLiquidIHL fillInputSlot, InvSlotConsumableLiquidIHL drainInputSlot, InvSlotOutput emptyFluidItemsSlot, IFluidTank fluidTank)
+ {
+ MutableObject output;
+ if (drainInputSlot!=null && !drainInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if(fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, true),false)>0 && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, false),true);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ if (fillInputSlot!=null && !fillInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if (fillInputSlot.transferFromTank(fluidTank, output, true) && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fillInputSlot.transferFromTank(fluidTank, output, false);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ }
+ public static double[] tracePlayerView(EntityPlayer entityplayer)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+ if (entityplayer.worldObj!=null && entityplayer.worldObj.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+ double z = entityplayer.posZ;
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 1.0D;
+ return new double[] {x+f7 * d3, y+f6 * d3, z+f9 * d3};
+ }
+
+ public static MovingObjectPosition returnMOPFromPlayer(EntityPlayer entityplayer, World world)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+
+ if (world.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+
+ double z = entityplayer.posZ;
+ Vec3 vec3d = Vec3.createVectorHelper(x, y, z);
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 5.0D;
+ Vec3 vec3d1 = vec3d.addVector(f7 * d3, f6 * d3, f9 * d3);
+ MovingObjectPosition movingobjectposition = world.rayTraceBlocks(vec3d, vec3d1, true);
+
+ if (movingobjectposition == null)
+ {
+ return null;
+ }
+
+ if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
+ {
+ return movingobjectposition;
+ }
+ return null;
+ }
+
+ public static short getFacingFromPlayerView(EntityLivingBase player, boolean ignoreSneaking)
+ {
+ int var6 = MathHelper.floor_double(player.rotationPitch * 4.0F / 360.0F + 0.5D) & 3;
+ int var7 = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
+ {
+ if(var6==1)
+ {
+ return 1;
+ }
+ else if(var6==3)
+ {
+ return 0;
+ }
+ else
+ {
+ if(player.isSneaking() && !ignoreSneaking)
+ {
+ switch(var7)
+ {
+ case 0:
+ return 3;
+ case 1:
+ return 4;
+ case 2:
+ return 2;
+ case 3:
+ return 5;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ switch(var7)
+ {
+ case 0:
+ return 2;
+ case 1:
+ return 5;
+ case 2:
+ return 3;
+ case 3:
+ return 4;
+ default:
+ break;
+ }
+ }
+ }
+ }
+ return 3;
+ }
+
+ public static int getChainID(ItemStack itemStack)
+ {
+ if(itemStack!=null && itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("chainUID"))
+ {
+ return itemStack.stackTagCompound.getInteger("chainUID");
+ }
+ return -1;
+ }
+
+ public static List<ItemStack> convertRecipeInputToItemStackList(List<IRecipeInput> input)
+ {
+ Iterator<IRecipeInput> irii=input.iterator();
+ List<ItemStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInput iri = irii.next();
+ ItemStack stack = iri.getInputs().get(0);
+ stack.stackSize=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static List<FluidStack> convertRecipeInputToFluidStackList(List<IRecipeInputFluid> input) {
+ Iterator<IRecipeInputFluid> irii=input.iterator();
+ List<FluidStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInputFluid iri = irii.next();
+ FluidStack stack = iri.getInputs().get(0);
+ stack.amount=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static int[] decodeXYZ(long longNumber)
+ {
+ return new int[] {(int) ((longNumber>>30) & 0xfff)-256,(int) ((longNumber>>15) & 0xfff)-256,(int) (longNumber & 0xfff)-256};
+ }
+
+ public static long encodeXYZ(int x,int y,int z)
+ {
+ return (x+256L)<<30|((y+256L)<<15)|(z+256L);
+ }
+
+ public static int reduceVariableByAbsoluteValue(int variable)
+ {
+ if(variable==0)
+ {
+ return 0;
+ }
+ else if(variable<0)
+ {
+ return variable+1;
+ }
+ else
+ {
+ return variable-1;
+ }
+ }
+
+ public static long getXYZHash(int x,int y,int z)
+ {
+ return ((x&0x1FFFFF)<<42)|((y&0x1FFFFF)<<21)|(z&0x1FFFFF);
+ }
+
+ public static String trim(String str)
+ {
+ int len = str.length();
+ int start;
+ char c;
+ for (start = 0; start < len; ++start)
+ {
+ c = str.charAt(start);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ int end;
+ for (end = len - 1; end >= start; --end)
+ {
+ c = str.charAt(end);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ return start <= 0 && end >= len - 1 ? str : str.substring(start, end + 1);
+ }
+
+ public static int getAmountOf(ItemStack is)
+ {
+ if(is.getItem() instanceof IWire)
+ {
+ return getWireLength(is);
+ }
+ else
+ {
+ return is.stackSize;
+ }
+ }
+
+ public static ItemStack getWireItemStackCopyWithLengthMultiplied(ItemStack stack, int multiplier)
+ {
+ ItemStack out = stack.copy();
+ adjustWireLength(out,getWireLength(stack)*(multiplier-1));
+ return out;
+ }
+
+ public static ItemStack getUninsulatedWire(String material, int length, int transverseSection) {
+ ItemStack is = getThisModItemStack("copperWire");
+ is.stackTagCompound=new NBTTagCompound();
+ is.stackTagCompound.setBoolean("firstConnection",false);
+ is.stackTagCompound.setInteger("fullLength", length);
+ is.stackTagCompound.setInteger("length", length);
+ is.stackTagCompound.setBoolean("firstConnection", false);
+ is.stackTagCompound.setString("material", material);
+ is.stackTagCompound.setInteger("transverseSection",transverseSection);
+ is.stackTagCompound.setInteger("resistance", ElectricConductor.getResistivity(material)*100/transverseSection);
+ return is;
+ }
+
+ public static ItemStack getInsulatedWire(String material, int length, int transverseSection, String insulationMaterial, int insulationThickness) {
+ ItemStack is = getUninsulatedWire(material, length, transverseSection);
+ is.stackTagCompound.setString("insulationMaterial",insulationMaterial);
+ is.stackTagCompound.setInteger("insulationThickness",insulationThickness);
+ is.stackTagCompound.setInteger("maxVoltage", getInsulationMaxVoltage(insulationMaterial, insulationThickness));
+ return is;
+ }
+
+ public static int getInsulationMaxVoltage(String insulationMaterial, int insulationThickness)
+ {
+ return Math.min(Insulation.getMaxVoltagePermm(insulationMaterial)*insulationThickness/10,Insulation.getMaxVoltageCap(insulationMaterial));
+ }
+
+ public static ItemStack getItemStackWithTag(String unLocalizedName, String tag, int tagValue) {
+ ItemStack stack = IHLUtils.getThisModItemStack(unLocalizedName);
+ if(stack.stackTagCompound==null)
+ {
+ stack.stackTagCompound=new NBTTagCompound();
+ }
+ stack.stackTagCompound.setInteger(tag, tagValue);
+ return stack;
+ }
+
+ public static boolean isSegmentInsideAABB(AxisAlignedBB collisionBox, double posX, double posY, double posZ, double posX2, double posY2, double posZ2)
+ {
+ if(isInsideofBoundingBox(collisionBox,(float)posX,(float)posY,(float)posZ)||isInsideofBoundingBox(collisionBox,(float)posX2,(float)posY2,(float)posZ2))
+ {
+ return true;
+ }
+ else
+ {
+ double minX=Math.min(posX, posX2);
+ double maxX=Math.max(posX, posX2);
+ double minY=Math.min(posY, posY2);
+ double maxY=Math.max(posY, posY2);
+ double minZ=Math.min(posZ, posZ2);
+ double maxZ=Math.max(posZ, posZ2);
+ return !(maxX<collisionBox.minX || minX>collisionBox.maxX ||
+ maxY<collisionBox.minY || minY>collisionBox.maxY ||
+ maxZ<collisionBox.minZ || minZ>collisionBox.maxZ);
+ }
+ }
+
+ public static boolean isInsideofBoundingBox(AxisAlignedBB bb, float xi, float yi, float zi)
+ {
+ return bb.maxX>xi && bb.minX<xi && bb.maxY>yi && bb.minY<yi && bb.maxZ>zi && bb.minZ<zi;
+ }
+
+ public static boolean isBlockCanBeReplaced(World world, int x, int y, int z)
+ {
+ Block block = world.getBlock(x, y, z);
+ if(block==Blocks.air || block.isAir(world, x, y, z) || block == Blocks.vine || block == Blocks.tallgrass || block == Blocks.deadbush)
+ {
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bf/907f1ce250b400151e8fcdb87a141443 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bf/907f1ce250b400151e8fcdb87a141443
new file mode 100644
index 0000000..5072a08
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bf/907f1ce250b400151e8fcdb87a141443
@@ -0,0 +1,564 @@
+package ihl.flexible_cable;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
+import cpw.mods.fml.common.network.internal.FMLProxyPacket;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.interfaces.ICableHolder;
+import ihl.interfaces.IDataCableHolder;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.INetworkListener;
+import ihl.utils.IHLUtils;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufInputStream;
+import io.netty.buffer.ByteBufOutputStream;
+import io.netty.buffer.Unpooled;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class NodeEntity extends Entity implements INetworkListener{
+
+ public Entity prevAnchorEntity;
+ public Entity nextAnchorEntity;
+ private int anchorX;
+ private int anchorY;
+ private int anchorZ;
+ private short anchorFacing;
+ private int anchorDimensionId;
+ public ItemStack attachedItem;
+ protected int chainUniqueID=-2;
+ public int chainArrangeNumber=-2;
+ protected int checkTimer=201;
+ public int colorIndex=16777215;
+ public int type=1;//0 - uninsulated wire; 1 - insulated cable; 2 - data cable
+ public float dx0=0;
+ public float dy0=0;
+ public float dz0=0;
+ public final int n=32;
+ public final float[] rotationPitchArray = new float[n+1];
+ public final float[] rotationYawArray = new float[n+1];
+ public final float[] translationX = new float[n+1];
+ public final float[] translationY = new float[n+1];
+ public final float[] translationZ = new float[n+1];
+ public float virtualNodePosX;
+ public float virtualNodePosY;
+ public float virtualNodePosZ;
+ public float renderPosX;
+ public float renderPosY;
+ public float renderPosZ;
+
+ public NodeEntity(World world)
+ {
+ super(world);
+ if(world.isRemote)
+ {
+ IHLMod.proxy.addEntityToList(this);
+ this.setSize(2f, 0.2f);
+ }
+ else
+ {
+ IHLMod.proxy.addEntityToServerList(this);
+ this.setSize(0.5F, 0.1F);
+ }
+ this.renderDistanceWeight = 5.0D;
+ this.yOffset+=0.15F;
+ this.virtualNodePosX=(float) this.posX;
+ this.virtualNodePosY=(float) this.posY;
+ this.virtualNodePosZ=(float) this.posZ;
+ }
+
+ public void setSize(float width, float heigth)
+ {
+ super.setSize(width, heigth);
+ }
+
+ public void setVirtualNodePos(float posX,float posY, float posZ)
+ {
+ virtualNodePosX=posX;
+ virtualNodePosY=posY;
+ virtualNodePosZ=posZ;
+ this.registerAndSendData(null);
+ }
+
+ public void registerAndSendData(EntityPlayerMP player)
+ {
+ if(!worldObj.isRemote)
+ {
+ Set<NodeEntity> nes;
+ if(IHLMod.proxy.nodeEntityRegistry.containsKey(this.getChainUniqueID()))
+ {
+ nes=IHLMod.proxy.nodeEntityRegistry.get(this.getChainUniqueID());
+ }
+ else
+ {
+ nes=new HashSet();
+ IHLMod.proxy.nodeEntityRegistry.put(this.getChainUniqueID(),nes);
+ }
+ nes.add(this);
+ ByteBuf bb = Unpooled.buffer(30);
+ ByteBufOutputStream byteBufOutputStream = new ByteBufOutputStream(bb);
+ try
+ {
+ byteBufOutputStream.write(1);
+ byteBufOutputStream.writeInt(this.getEntityId());
+ byteBufOutputStream.writeInt(this.getChainUniqueID());
+ byteBufOutputStream.writeInt(this.chainArrangeNumber);
+ byteBufOutputStream.writeByte(this.type);
+ byteBufOutputStream.writeInt(this.colorIndex);
+ byteBufOutputStream.writeFloat(this.virtualNodePosX);
+ byteBufOutputStream.writeFloat(this.virtualNodePosY);
+ byteBufOutputStream.writeFloat(this.virtualNodePosZ);
+ if(player==null)
+ {
+ IHLMod.proxy.sendFromServerToAll(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID));
+ }
+ else
+ {
+ IHLMod.proxy.sendFromServerToPlayer(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID),player);
+ }
+ byteBufOutputStream.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onUpdate()
+ {
+ super.onUpdate();
+ if(!noClip && !worldObj.isRemote)
+ {
+ this.moveEntity(this.motionX, this.motionY, this.motionZ);
+ }
+ if(this.checkTimer==201)
+ {
+ if(worldObj.isRemote)
+ {
+ IHLMod.proxy.recieveDelayedDataPacket(this);
+ }
+ else
+ {
+ this.registerAndSendData(null);
+ }
+ }
+ if((prevAnchorEntity==null && !noClip)||(nextAnchorEntity==null || nextAnchorEntity instanceof EntityPlayer || nextAnchorEntity instanceof EntityItem))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<NodeEntity> eItemsList = this.worldObj.getEntitiesWithinAABB(NodeEntity.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ NodeEntity node=(NodeEntity) ei.next();
+ if(node.getChainUniqueID()==this.getChainUniqueID())
+ {
+ if(node.chainArrangeNumber==this.chainArrangeNumber-1)
+ {
+ this.prevAnchorEntity=node;
+ node.nextAnchorEntity=this;
+ }
+ else if(node.chainArrangeNumber==this.chainArrangeNumber+1)
+ {
+ this.nextAnchorEntity=node;
+ node.prevAnchorEntity=this;
+ }
+ }
+ if(prevAnchorEntity!=null && nextAnchorEntity!=null)
+ {
+ break;
+ }
+ }
+ }
+ }
+ if(this.attachedItem!=null && (this.nextAnchorEntity == null || this.nextAnchorEntity.isDead) && !this.noClip)
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityPlayer> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityPlayer player=(EntityPlayer) ei.next();
+ if(this.playerHasItemStack(player))
+ {
+ this.nextAnchorEntity=player;
+ }
+
+ }
+ }
+ }
+ if(this.attachedItem!=null && this.nextAnchorEntity instanceof EntityPlayer && !noClip)
+ {
+ EntityPlayer player = (EntityPlayer) this.nextAnchorEntity;
+ if(!this.playerHasItemStack(player))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator<EntityItem> ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityItem eitem = ei.next();
+ if(eitem.getEntityItem().isItemEqual(this.attachedItem))
+ {
+ this.nextAnchorEntity=eitem;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if(!worldObj.isRemote)
+ {
+ {
+ double x0,x2,y0,y2,z0,z2;
+ x2=x0=this.virtualNodePosX;
+ y2=y0=this.virtualNodePosY;
+ z2=z0=this.virtualNodePosZ;
+ if(nextAnchorEntity!=null)
+ {
+ x2=nextAnchorEntity.posX;
+ y2=nextAnchorEntity.posY;
+ z2=nextAnchorEntity.posZ;
+ }
+ if(prevAnchorEntity!=null)
+ {
+ x0=prevAnchorEntity.posX;
+ y0=prevAnchorEntity.posY;
+ z0=prevAnchorEntity.posZ;
+ }
+
+ double d1 = (x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)+(z0-z2)*(z0-z2);
+ if(d1>4D)
+ {
+ this.motionX=(x0+x2)*0.05D-this.posX*0.1D;
+ this.motionY=(y0+y2)*0.05D-this.posY*0.1D;
+ this.motionZ=(z0+z2)*0.05D-this.posZ*0.1D;
+ if(nextAnchorEntity!=null && this.getDistanceSqToEntity(nextAnchorEntity)>4D)
+ {
+ this.nextAnchorEntity.addVelocity((this.posX-this.nextAnchorEntity.posX)*0.01D, (this.posY-this.nextAnchorEntity.posY)*0.01D, (this.posZ-this.nextAnchorEntity.posZ)*0.01D);
+ }
+ }
+ else
+ {
+ double d2 = this.getDistanceSq(x2,y2,z2);
+ if(d2>1D)
+ {
+ this.motionX+=(x2-this.posX)*0.01D;
+ this.motionY+=(y2-this.posY)*0.01D;
+ this.motionZ+=(z2-this.posZ)*0.01D;
+ }
+ double d3 = this.getDistanceSq(x0,y0,z0);
+ if(d3>1D)
+ {
+ this.motionX+=(x0-this.posX)*0.01D;
+ this.motionY+=(y0-this.posY)*0.01D;
+ this.motionZ+=(z0-this.posZ)*0.01D;
+ }
+ }
+ this.motionY-=0.005D;
+ }
+ }
+ if(this.onGround)
+ {
+ this.motionY *= -0.5D;
+ }
+ this.motionX*=0.9D;
+ this.motionY*=0.9D;
+ this.motionZ*=0.9D;
+ if(worldObj.isRemote)
+ {
+ this.renderPosX=(float) this.prevPosX;
+ this.renderPosY=(float) this.prevPosY;
+ this.renderPosZ=(float) this.prevPosZ;
+ float xi,yi,zi;
+ float x0=xi=(float)this.prevPosX;
+ float y0=yi=(float)this.prevPosY;
+ float z0=zi=(float)this.prevPosZ;
+ float dx0=this.dx0;
+ float dy0=this.dy0;
+ float dz0=this.dz0;
+ float dx1=this.virtualNodePosX-xi;
+ float dy1=this.virtualNodePosY-yi;
+ float dz1=this.virtualNodePosZ-zi;
+ if(this.nextAnchorEntity!=null)
+ {
+ dx1=(float) (this.nextAnchorEntity.prevPosX-xi);
+ dy1=(float) (this.nextAnchorEntity.prevPosY-yi);
+ dz1=(float) (this.nextAnchorEntity.prevPosZ-zi);
+ }
+ if(this.prevAnchorEntity==null)
+ {
+ this.renderPosX=x0=xi=this.virtualNodePosX;
+ this.renderPosY=y0=yi=this.virtualNodePosY;
+ this.renderPosZ=z0=zi=this.virtualNodePosZ;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ if(((NodeEntity)this.nextAnchorEntity).nextAnchorEntity!=null)
+ {
+ Entity nne = ((NodeEntity)this.nextAnchorEntity).nextAnchorEntity;
+ dx1=(float) (nne.prevPosX-xi);
+ dy1=(float) (nne.prevPosY-yi);
+ dz1=(float) (nne.prevPosZ-zi);
+ }
+ else
+ {
+ dx1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosX-xi);
+ dy1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosY-yi);
+ dz1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosZ-zi);
+ }
+ }
+ float x1=this.virtualNodePosX;
+ float y1=this.virtualNodePosY;
+ float z1=this.virtualNodePosZ;
+ if(this.nextAnchorEntity!=null)
+ {
+ x1=(float)this.nextAnchorEntity.prevPosX;
+ y1=(float)this.nextAnchorEntity.prevPosY;
+ z1=(float)this.nextAnchorEntity.prevPosZ;
+ }
+ int i1=0;
+ for(float i=1f/n;i<=1f+1f/n;i+=1f/n,i1++)
+ {
+ float dxi = xi;
+ float dyi = yi;
+ float dzi = zi;
+ xi=(dx1-2*x1+2*dx0+2*x0-dx0)*i*i*i+(3*x1-dx1-3*dx0-3*x0+dx0)*i*i+dx0*i+x0;
+ yi=(dy1-2*y1+2*dy0+2*y0-dy0)*i*i*i+(3*y1-dy1-3*dy0-3*y0+dy0)*i*i+dy0*i+y0;
+ zi=(dz1-2*z1+2*dz0+2*z0-dz0)*i*i*i+(3*z1-dz1-3*dz0-3*z0+dz0)*i*i+dz0*i+z0;
+ int blockX=(int)xi;
+ int blockY=(int)yi;
+ int blockZ=(int)zi;
+ dxi-=xi;
+ dyi-=yi;
+ dzi-=zi;
+ double var7 = MathHelper.sqrt_double(dxi * dxi + dzi * dzi);
+ float var9 = (float)(Math.atan2(dzi, dxi) * 180.0D / Math.PI) - 90.0F;
+ float var10 = (float)(-(Math.atan2(dyi, var7) * 180.0D / Math.PI));
+ float rotationPitch = (float) Math.atan2(dxi, dzi);
+ float rotationYaw = (float) (-Math.atan2(dyi, var7));
+ rotationPitchArray[i1]=rotationPitch;
+ rotationYawArray[i1]=rotationYaw;
+ translationX[i1]=dxi;
+ translationY[i1]=dyi;
+ translationZ[i1]=dzi;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ NodeEntity next = (NodeEntity) this.nextAnchorEntity;
+ next.dx0=dx1;
+ next.dy0=dy1;
+ next.dz0=dz1;
+ }
+ }
+ if(--this.checkTimer<=0)
+ {
+ if(!worldObj.isRemote)
+ {
+ TileEntity te = MinecraftServer.getServer().worldServerForDimension(this.anchorDimensionId).getTileEntity(this.anchorX, this.anchorY, this.anchorZ);
+ if(te==null || !(te instanceof ICableHolder || te instanceof AnchorTileEntity))
+ {
+ this.setDead();
+ }
+ }
+ this.checkTimer=200;
+ }
+ }
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound nbt)
+ {
+ this.noClip=nbt.getBoolean("noClip");
+ this.setChainUniqueID(nbt.getInteger("chainUniqueID"));
+ this.chainArrangeNumber=nbt.getInteger("chainArrangeNumber");
+ this.anchorX=nbt.getInteger("anchorX");
+ this.anchorY=nbt.getInteger("anchorY");
+ this.anchorZ=nbt.getInteger("anchorZ");
+ this.anchorFacing=nbt.getShort("anchorFacing");
+ this.anchorDimensionId=nbt.getInteger("anchorDimensionId");
+ this.type=nbt.getInteger("type");
+ this.colorIndex=nbt.getInteger("colorIndex");
+ if(nbt.hasKey("itemStack"))
+ {
+ NBTTagCompound stackTag = (NBTTagCompound) nbt.getTag("itemStack");
+ this.attachedItem = ItemStack.loadItemStackFromNBT(stackTag);
+ }
+ if(nbt.hasKey("width"))
+ {
+ this.setSize(nbt.getFloat("width"), nbt.getFloat("height"));
+ }
+ this.virtualNodePosX=nbt.getFloat("virtualNodePosX");
+ this.virtualNodePosY=nbt.getFloat("virtualNodePosY");
+ this.virtualNodePosZ=nbt.getFloat("virtualNodePosZ");
+ }
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound nbt)
+ {
+ nbt.setFloat("width", this.width);
+ nbt.setFloat("height", this.height);
+ nbt.setBoolean("noClip", noClip);
+ nbt.setInteger("chainUniqueID", this.getChainUniqueID());
+ nbt.setInteger("chainArrangeNumber", this.chainArrangeNumber);
+ nbt.setInteger("anchorX", this.anchorX);
+ nbt.setInteger("anchorY", this.anchorY);
+ nbt.setInteger("anchorZ", this.anchorZ);
+ nbt.setShort("anchorFacing",this.anchorFacing);
+ nbt.setInteger("anchorDimensionId",this.anchorDimensionId);
+ nbt.setInteger("type", this.type);
+ nbt.setInteger("colorIndex", this.colorIndex);
+ if(this.attachedItem!=null)
+ {
+ NBTTagCompound stackTag = new NBTTagCompound();
+ this.attachedItem.writeToNBT(stackTag);
+ nbt.setTag("itemStack",stackTag);
+ }
+ nbt.setFloat("virtualNodePosX",this.virtualNodePosX);
+ nbt.setFloat("virtualNodePosY",this.virtualNodePosY);
+ nbt.setFloat("virtualNodePosZ",this.virtualNodePosZ);
+ }
+
+ public void setAnchor(int x, int y, int z, short facing, int dimensionId)
+ {
+ this.anchorX=x;
+ this.anchorY=y;
+ this.anchorZ=z;
+ this.anchorFacing=facing;
+ this.anchorDimensionId=dimensionId;
+ }
+
+ public boolean playerHasItemStack(EntityPlayer player)
+ {
+ int var2;
+
+ for (var2 = 0; var2 < player.inventory.armorInventory.length; ++var2)
+ {
+ if (player.inventory.armorInventory[var2] != null && player.inventory.armorInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.armorInventory[var2].stackTagCompound==null?false:player.inventory.armorInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ for (var2 = 0; var2 < player.inventory.mainInventory.length; ++var2)
+ {
+ if (player.inventory.mainInventory[var2] != null && player.inventory.mainInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.mainInventory[var2].stackTagCompound==null?false:player.inventory.mainInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ return false;
+ }
+
+ public int getChainUniqueID() {
+ return chainUniqueID;
+ }
+
+ public void setChainUniqueID(int chainUniqueID) {
+ this.chainUniqueID = chainUniqueID;
+ }
+
+ @Override
+ public AxisAlignedBB getCollisionBox(Entity entity)
+ {
+ if(this.noClip)
+ {
+ return null;
+ }
+ else
+ {
+ return super.getCollisionBox(entity);
+ }
+ }
+
+ @Override
+ public int getId()
+ {
+ return this.getEntityId();
+ }
+
+ @Override
+ public void recieveData(ByteBufInputStream byteBufInputStream)
+ {
+ try
+ {
+ this.setChainUniqueID(byteBufInputStream.readInt());
+ this.chainArrangeNumber=byteBufInputStream.readInt();
+ this.type=byteBufInputStream.readByte();
+ this.colorIndex=byteBufInputStream.readInt();
+ this.virtualNodePosX=byteBufInputStream.readFloat();
+ this.virtualNodePosY=byteBufInputStream.readFloat();
+ this.virtualNodePosZ=byteBufInputStream.readFloat();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ public boolean isInvalid()
+ {
+ return this.isDead;
+ }
+
+ public void setVirtualNodePosToNearestPortal()
+ {
+ int x0 = (int)this.posX;
+ int y0 = (int)this.posY;
+ int z0 = (int)this.posZ;
+ for(int xi=x0-2;xi<=x0+2;xi++)
+ {
+ for(int yi=y0-2;yi<=y0+2;yi++)
+ {
+ for(int zi=z0-2;zi<=z0+2;zi++)
+ {
+ Block block = worldObj.getBlock(xi, yi, zi);
+ if(block==Blocks.portal||block==Blocks.end_portal)
+ {
+ this.setVirtualNodePos(xi+0.5f, yi+0.5f, zi+0.5f);
+ return;
+ }
+ }
+ }
+ }
+
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/10184eb91baa00151263eb9882e2ad67 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/10184eb91baa00151263eb9882e2ad67
new file mode 100644
index 0000000..e5e9501
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/10184eb91baa00151263eb9882e2ad67
@@ -0,0 +1,86 @@
+package ihl.flexible_cable;
+
+import net.minecraft.client.particle.EntityFX;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.world.World;
+
+public class BlastEntityFX extends EntityFX {
+
+ public BlastEntityFX(World world, double x, double y, double z)
+ {
+ super(world, x, y, z);
+ this.renderDistanceWeight = 5.0D;
+ }
+
+ public BlastEntityFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14)
+ {
+ super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D);
+ this.motionX *= 0.10000000149011612D;
+ this.motionY *= 0.10000000149011612D;
+ this.motionZ *= 0.10000000149011612D;
+ this.motionX += par8;
+ this.motionY += par10;
+ this.motionZ += par12;
+ this.particleScale *= par14;
+ this.particleMaxAge = 3;
+ this.noClip = false;
+ this.renderDistanceWeight = 6.0D;
+ }
+
+ @Override
+ public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7)
+ {
+ float var8 = this.particleTextureIndexX / 2.0F;
+ float var9 = var8 + 0.5f;
+ float var10 = this.particleTextureIndexY / 2.0F;
+ float var11 = var10 + 0.5f;
+ float var12 = 0.1F * this.particleScale;
+
+ float var13 = (float)(this.prevPosX + (this.posX - this.prevPosX) * par2 - interpPosX);
+ float var14 = (float)(this.prevPosY + (this.posY - this.prevPosY) * par2 - interpPosY);
+ float var15 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * par2 - interpPosZ);
+ par1Tessellator.addVertexWithUV(var13 - par3 * var12 - par6 * var12, var14 - par4 * var12, var15 - par5 * var12 - par7 * var12, var9, var11);
+ par1Tessellator.addVertexWithUV(var13 - par3 * var12 + par6 * var12, var14 + par4 * var12, var15 - par5 * var12 + par7 * var12, var9, var10);
+ par1Tessellator.addVertexWithUV(var13 + par3 * var12 + par6 * var12, var14 + par4 * var12, var15 + par5 * var12 + par7 * var12, var8, var10);
+ par1Tessellator.addVertexWithUV(var13 + par3 * var12 - par6 * var12, var14 - par4 * var12, var15 + par5 * var12 - par7 * var12, var8, var11);
+ }
+
+ @Override
+ public void onUpdate()
+ {
+ this.prevPosX = this.posX;
+ this.prevPosY = this.posY;
+ this.prevPosZ = this.posZ;
+
+ if (this.particleAge++ >= this.particleMaxAge)
+ {
+ this.setDead();
+ }
+ this.setParticleTextureIndex(this.particleAge * 3 / this.particleMaxAge);
+ this.moveEntity(this.motionX, this.motionY, this.motionZ);
+
+ if (this.posY == this.prevPosY)
+ {
+ this.motionX *= 1.1D;
+ this.motionZ *= 1.1D;
+ }
+
+ this.motionX *= 0.95D;
+ this.motionY *= 0.95D;
+ this.motionZ *= 0.95D;
+
+ if (this.onGround)
+ {
+ this.motionX *= 0.7D;
+ this.motionZ *= 0.7D;
+ }
+ }
+
+ @Override
+ public void setParticleTextureIndex(int par1)
+ {
+ this.particleTextureIndexX = par1 % 2;
+ this.particleTextureIndexY = par1 / 2;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/f0339bee53a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/f0339bee53a3001516ebc455efc032e5
new file mode 100644
index 0000000..152efac
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c6/f0339bee53a3001516ebc455efc032e5
@@ -0,0 +1,125 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+ URL gburl = IHLMod.class.getResource("/assets/ihl/config/ihl-guidebook.xml");
+ System.out.println(gburl.getAuthority());
+ System.out.println(gburl.getFile());
+ System.out.println(gburl.getHost());
+ System.out.println(gburl.getPath());
+ System.out.println(gburl.getQuery());
+ System.out.println(gburl.getRef());
+ System.out.println(gburl.toExternalForm());
+ System.out.println(gburl.toURI().getPath());
+// File fileFrom = new File(IHLMod.proxy.getMinecraftDir(),"/assets/ihl/config/ihl-guidebook.xml");
+ //File fileFrom = new File(.getFile());
+ //Files.copy(fileFrom, file);
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/e006f2ab27bc001514d3de1c0800049b b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/e006f2ab27bc001514d3de1c0800049b
new file mode 100644
index 0000000..be4cbb7
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/e006f2ab27bc001514d3de1c0800049b
@@ -0,0 +1,269 @@
+package ihl.flexible_cable;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraftforge.common.MinecraftForge;
+import ic2.api.energy.event.EnergyTileLoadEvent;
+import ic2.api.energy.event.EnergyTileUnloadEvent;
+import ic2.core.IC2;
+import ihl.IHLMod;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.utils.IHLUtils;
+
+public class SubAnchorEnergyNetNode implements IEnergyNetNode{
+
+ private AnchorTileEntity base;
+ private short facing;
+ private int gridID=-1;
+ private Set<NBTTagCompound> cableList = new HashSet();
+
+ public SubAnchorEnergyNetNode(AnchorTileEntity base1, short facing1)
+ {
+ base=base1;
+ facing=facing1;
+ }
+
+ @Override
+ public double[] getPortPos(EntityLivingBase player)
+ {
+ double d=0.5D;
+ double f=-0.1D;
+ switch(facing)
+ {
+ case 0:
+ return new double[]{
+ (base.xCoord+d),
+ (base.yCoord+1D-f),
+ (base.zCoord+0.5D)};
+ case 1:
+ return new double[]{
+ (base.xCoord+d),
+ (base.yCoord+f),
+ (base.zCoord+0.5D)};
+ case 2:
+ return new double[]{
+ (base.xCoord+0.5D),
+ (base.yCoord+d),
+ (base.zCoord+1D-f)};
+ case 3:
+ return new double[]{
+ (base.xCoord+0.5D),
+ (base.yCoord+d),
+ (base.zCoord+f)};
+ case 4:
+ return new double[]{
+ (base.xCoord+1D-f),
+ (base.yCoord+d),
+ (base.zCoord+0.5D)};
+ case 5:
+ return new double[]{
+ (base.xCoord+f),
+ (base.yCoord+d),
+ (base.zCoord+0.5D)};
+ default:
+ return new double[]{
+ (base.xCoord+f),
+ (base.yCoord+d),
+ (base.zCoord+0.5D)};
+ }
+ }
+
+ @Override
+ public IHLGrid getGrid()
+ {
+ if(gridID!=-1)
+ {
+ return IHLMod.enet.getGrid(gridID);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ @Override
+ public int getGridID()
+ {
+ return gridID;
+ }
+
+ @Override
+ public void setGrid(int newgridID)
+ {
+ if(IC2.platform.isSimulating()&& base.addedToEnergyNet)
+ {
+ MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(base));
+ base.addedToEnergyNet = false;
+ }
+ if(newgridID!=-1)
+ {
+ this.gridID=newgridID;
+ IHLMod.enet.getGrid(newgridID).add(this);
+ }
+ else
+ {
+ this.gridID=-1;
+ }
+ if (IC2.platform.isSimulating()&& !base.addedToEnergyNet)
+ {
+ MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(base));
+ base.addedToEnergyNet = true;
+ }
+ }
+
+ @Override
+ public double getMaxAllowableVoltage()
+ {
+ return 64000d;
+ }
+
+ @Override
+ public boolean addCable(NBTTagCompound cable)
+ {
+ base.hasCableOnSide[this.facing]=true;
+ return this.cableList.add(cable);
+ }
+
+ @Override
+ public Set<NBTTagCompound> getCableList() {
+ return cableList;
+ }
+
+ @Override
+ public void removeAttachedChains()
+ {
+ Iterator<NBTTagCompound> cli = this.getCableList().iterator();
+ while(cli.hasNext())
+ {
+ NBTTagCompound c = cli.next();
+ IHLMod.enet.removeCableEntities(c);
+ ItemStack is = IHLUtils.getThisModItemStack("copperWire");
+ is.stackTagCompound=c;
+ EntityItem eitem = new EntityItem(base.getWorldObj(), base.xCoord+0.5D, base.yCoord+0.5D, base.zCoord+0.5D, is);
+ base.getWorldObj().spawnEntityInWorld(eitem);
+ }
+ if(gridID!=-1)
+ {
+ IHLMod.enet.splitGrids(gridID, this);
+ }
+ this.getCableList().clear();
+ base.hasCableOnSide[this.facing]=false;
+ }
+
+ public void onLoaded()
+ {
+ if(gridID!=-1)
+ {
+ IHLGrid grid = IHLMod.enet.getGrid(gridID);
+ grid.add(this);
+ }
+ }
+
+ public NBTTagCompound writeToNBT()
+ {
+ NBTTagCompound nbt = new NBTTagCompound();
+ NBTTagList cableNBTList = new NBTTagList();
+ for(NBTTagCompound cable:this.cableList)
+ {
+ cableNBTList.appendTag(cable);
+ }
+ nbt.setTag("cableList", cableNBTList);
+ nbt.setInteger("gridID", this.gridID);
+ return nbt;
+ }
+
+ public void readFromNBT(NBTTagCompound nbt) {
+ NBTTagList cableNBTList=nbt.getTagList("cableList", 10);
+ for(int i=0;i<cableNBTList.tagCount();i++)
+ {
+ this.cableList.add(cableNBTList.getCompoundTagAt(i));
+ }
+ this.gridID=nbt.getInteger("gridID");
+ if(this.gridID!=-1)
+ {
+ base.hasCableOnSide[this.facing]=true;
+ }
+ }
+
+ public double getOfferedEnergy()
+ {
+ if(this.gridID==-1)
+ {
+ return 0D;
+ }
+ else
+ {
+ return Math.max(this.getGrid().energy, 0D);
+ }
+ }
+
+ public double getDemandedEnergy()
+ {
+ if(this.gridID==-1 || this.getGrid().energy>1d)
+ {
+ return 0D;
+ }
+ else
+ {
+ return this.getGrid().getDemandedEnergy();
+ }
+ }
+
+ public double drawEnergy(double amount)
+ {
+ if(this.gridID==-1)
+ {
+ return 0D;
+ }
+ else
+ {
+ double dEnergy = Math.min(this.getGrid().energy, amount);
+ this.getGrid().energy-=dEnergy;
+ return dEnergy;
+ }
+ }
+
+ public double getVoltage()
+ {
+ if(this.gridID==-1)
+ {
+ return 0D;
+ }
+ else
+ {
+ return this.getGrid().getSinkVoltage(this);
+ }
+ }
+
+ @Override
+ public void remove(NBTTagCompound cable)
+ {
+ this.cableList.remove(cable);
+ if(this.cableList.isEmpty())
+ {
+ base.hasCableOnSide[this.facing]=false;
+ }
+ }
+
+ public double injectEnergy(double amount)
+ {
+ if(this.gridID==-1)
+ {
+ return amount;
+ }
+ else
+ {
+ this.getGrid().injectEnergy(amount, 400d, this);
+ return 0d;
+ }
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/b0083d60a7ca001510f7df4278c93a7e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/b0083d60a7ca001510f7df4278c93a7e
new file mode 100644
index 0000000..b15e16c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/b0083d60a7ca001510f7df4278c93a7e
@@ -0,0 +1,935 @@
+package ihl.utils;
+
+import ic2.api.recipe.IRecipeInput;
+import ic2.api.recipe.RecipeInputItemStack;
+import ic2.api.recipe.RecipeInputOreDict;
+import ic2.api.recipe.Recipes;
+import ic2.core.BasicMachineRecipeManager;
+import ic2.core.block.invslot.InvSlotOutput;
+import ihl.IHLMod;
+import ihl.interfaces.IWire;
+import ihl.metallurgy.constants.*;
+import ihl.processing.invslots.InvSlotConsumableLiquidIHL;
+import ihl.recipes.IRecipeInputFluid;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.mutable.MutableObject;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.World;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidTank;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class IHLUtils
+{
+ private static Map<String,ItemStack> ihlItemStackRegistry = new HashMap();
+
+ public static void registerLocally(String name, ItemStack stack)
+ {
+ ihlItemStackRegistry.put(name, stack);
+ }
+
+ public static ItemStack getOreDictItemStack(String name)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=1;
+ return orecopy;
+ }
+
+ public static boolean hasOreDictionaryEntry(String name)
+ {
+ return !OreDictionary.getOres(name).isEmpty();
+ }
+
+ public static Item getOreDictItem(String name)
+ {
+ return OreDictionary.getOres(name).get(0).getItem();
+ }
+
+ public static Block getOreDictBlock(String name)
+ {
+ return Block.getBlockFromItem(OreDictionary.getOres(name).get(0).getItem());
+ }
+
+ public static ItemStack getOreDictItemStackWithSize(String name, int size)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=size;
+ return orecopy;
+ }
+
+ public static String getFirstOreDictName(ItemStack stack)
+ {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ if(arrayIDs.length>0)
+ {
+ return OreDictionary.getOreName(arrayIDs[0]);
+ }
+ return "";
+ }
+
+ public static ItemStack getThisModItemStack(String name)
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithSize(String name, int i) {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ ItemStack stack = ihlItemStackRegistry.get(name).copy();
+ stack.stackSize=i;
+ return stack;
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name),i);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name),i);
+ }
+ }
+
+ public static ItemStack getOtherModItemStackWithDamage(String modname, String name,int damage) {
+ if(GameRegistry.findItem(modname, name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem(modname, name),1,damage);
+ }
+ else if(GameRegistry.findBlock(modname, name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock(modname, name),1,damage);
+ }
+ }
+
+ public static Item getThisModItem(String name)
+ {
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return GameRegistry.findItem("ihl", name);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return Item.getItemFromBlock(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static FluidStack getFluidStackWithSize(String name, int i) {
+ if(FluidRegistry.isFluidRegistered(name))
+ {
+ return FluidRegistry.getFluidStack(name, i);
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such fluid: "+name);
+ }
+ }
+
+ public static Block getThisModBlock(String name)
+ {
+ if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such block in item registry: ihl:"+name);
+ }
+ else
+ {
+ return GameRegistry.findBlock("ihl", name);
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithDamage(String name,
+ int value)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ stack.setItemDamage(value);
+ return stack;
+ }
+
+ public static boolean adjustWireLength(ItemStack stack, int adjustBy)
+ {
+ int length = getWireLength(stack);
+ if(length<=0)
+ {
+ return true;
+ }
+ else
+ {
+ int newLength = Math.max(length+adjustBy,0);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),newLength);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),newLength);
+ if(newLength==0)
+ {
+ return true;
+ }
+ return false;
+ }
+ }
+
+ public static int getWireLength(ItemStack itemStack)
+ {
+ return itemStack.stackTagCompound.getInteger(((IWire)itemStack.getItem()).getTag());
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(String name, int i) {
+ if(getThisModItemStack(name)!=null)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ if(stack.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException("ihl:"+name + " is not an instance of IWire.");
+ }
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(ItemStack stack1, int i) {
+ ItemStack stack = stack1.copy();
+ if(stack1.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException(stack1.getUnlocalizedName() + " is not an instance of IWire.");
+ }
+ }
+
+ public static boolean isItemsHaveSameOreDictionaryEntry(ItemStack is, ItemStack is1)
+ {
+ int[] odids1 = OreDictionary.getOreIDs(is);
+ int[] odids2 = OreDictionary.getOreIDs(is1);
+ if(odids1!=null && odids1.length>0 && odids2!=null && odids2.length>0)
+ {
+ for(int i1=0;i1<odids1.length;i1++)
+ {
+ for(int i2=0;i2<odids2.length;i2++)
+ {
+ if(!OreDictionary.getOreName(odids1[i1]).contains("Any") && odids1[i1]==odids2[i2])
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ public static List<ItemStack> getEntryListForOre(String name)
+ {
+ ArrayList<ItemStack> outputList = new ArrayList<ItemStack>();
+ ArrayList<ItemStack> oreList = OreDictionary.getOres(name);
+ Iterator<ItemStack> oreListIterator = oreList.iterator();
+ while(oreListIterator.hasNext())
+ {
+ outputList.add(oreListIterator.next().copy());
+ }
+ return outputList;
+ }
+
+ public static ItemStack getItemStackIfExist(String name)
+ {
+ if(hasOreDictionaryEntry(name))
+ {
+ return getOreDictItemStack(name);
+ }
+ else
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+ }
+
+ public static FluidStack getFluidStackIfExist(String string, int meltingFluidAmount)
+ {
+ if(FluidRegistry.isFluidRegistered(string))
+ {
+ return getFluidStackWithSize(string,meltingFluidAmount);
+ }
+ return null;
+ }
+
+ public static boolean addItemStackToInventory(EntityPlayer player, ItemStack stack)
+ {
+ ItemStack[] inv = player.inventory.mainInventory;
+ for (int i=0;i<=35;i++)
+ {
+ if(inv[i]!=null)
+ {
+ if(inv[i].getItem()==stack.getItem())
+ {
+ if(inv[i].getItemDamage()==stack.getItemDamage() && inv[i].stackSize<inv[i].getMaxStackSize())
+ {
+ inv[i].stackSize+=stack.stackSize;
+ if(inv[i].stackSize>inv[i].getMaxStackSize())
+ {
+ stack.stackSize=inv[i].stackSize-inv[i].getMaxStackSize();
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+ }
+ else
+ {
+ inv[i]=stack;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static FluidStack getFluidStackWithSizeChemicallyPure(String name, int amount)
+ {
+ FluidStack fstack = getFluidStackWithSize(name, amount);
+ fstack.tag=new NBTTagCompound();
+ fstack.tag.setBoolean("chemicallyPure", true);
+ return fstack;
+ }
+
+ public static void removeItemStackFromOreDictionaryEntry(String orename, ItemStack itemStack)
+ {
+ ArrayList<ItemStack> orelist = OreDictionary.getOres(orename);
+ Iterator<ItemStack> oreListIterator = orelist.iterator();
+ ItemStack odstack = null;
+ while(oreListIterator.hasNext())
+ {
+ odstack = oreListIterator.next();
+ if(odstack.getItem()==itemStack.getItem())
+ {
+ break;
+ }
+ else
+ {
+ odstack = null;
+ }
+ }
+ if(odstack != null)
+ {
+ orelist.remove(odstack);
+ IHLMod.log.debug("Stack "+odstack.getDisplayName()+" ("+odstack.toString()+")"+" removed from ore entry '"+orename+"'");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(String input, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(getOreDictItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ ((BasicMachineRecipeManager)Recipes.macerator).addRecipe(new RecipeInputOreDict(input), tag, true, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(String input, int stacksize, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(getOreDictItemStackWithSize(input,stacksize), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputOreDict(input,stacksize), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(String input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(getThisModItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputOreDict(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2CentrifugeRecipe(String input, ItemStack output, ItemStack output2)
+ {
+ if(Recipes.centrifuge.getOutputFor(getOreDictItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ tag.setInteger("minHeat", 2000);
+ Recipes.centrifuge.addRecipe(new RecipeInputOreDict(input), tag, new ItemStack[] {output,output2});
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 centrifuge recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void damageItemViaNBTTag(ItemStack stack, int amount)
+ {
+ NBTTagCompound gtTagCompound;
+ if(stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+ int damage = 0;
+ int maxDamage = 0;
+ if(gtTagCompound.hasKey("MaxDamage"))
+ {
+ maxDamage = gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+
+ if(gtTagCompound.hasKey("Damage"))
+ {
+ damage = gtTagCompound.getInteger("Damage");
+ }
+ if(damage<maxDamage-amount)
+ {
+ damage+=amount;
+ gtTagCompound.setInteger("Damage",damage);
+ gtTagCompound.setInteger("MaxDamage",maxDamage);
+ stack.stackTagCompound.setTag("GT.ToolStats", gtTagCompound);
+ }
+ else
+ {
+ stack.stackSize--;
+ }
+ }
+
+ public static int getDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("Damage"))
+ {
+ return gtTagCompound.getInteger("Damage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static int getMaxDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("MaxDamage"))
+ {
+ return gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, ItemStack stack2, boolean useOreDictionary)
+ {
+ if(useOreDictionary && isItemsHaveSameOreDictionaryEntry(stack1,stack2))
+ {
+ return true;
+ }
+ else
+ {
+ if(stack1.getItemDamage()==OreDictionary.WILDCARD_VALUE || stack2.getItemDamage()==OreDictionary.WILDCARD_VALUE)
+ {
+ return stack1.getItem()==stack2.getItem();
+ }
+ else
+ {
+ return stack1.getItem()==stack2.getItem() && stack1.getItemDamage()==stack2.getItemDamage();
+ }
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, String stack2name, boolean useOreDictionary)
+ {
+ return isItemStacksIsEqual(stack1, getThisModItemStack(stack2name),useOreDictionary);
+ }
+
+ public static boolean isIRecipeInputMatchesWithAmount(IRecipeInput input, ItemStack stack)
+ {
+ if(input.matches(stack))
+ {
+ if(stack.getItem() instanceof IWire)
+ {
+ return getWireLength(stack)>=input.getAmount();
+ }
+ else
+ {
+ return stack.stackSize>=input.getAmount();
+ }
+ }
+ return false;
+ }
+
+ public static boolean reduceItemStackAmountUsingIRecipeInput(IRecipeInput input, ItemStack stack) {
+ if(stack.getItem() instanceof IWire)
+ {
+ return adjustWireLength(stack,-input.getAmount());
+ }
+ else
+ {
+ stack.stackSize-=input.getAmount();
+ return stack.stackSize<=0;
+ }
+ }
+
+ public static String getFirstOreDictNameExcludingTagAny(ItemStack stack) {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ for(int i=0;i<arrayIDs.length;i++)
+ {
+ if(!OreDictionary.getOreName(arrayIDs[i]).contains("Any"))
+ {
+ return OreDictionary.getOreName(arrayIDs[i]);
+ }
+ }
+ return "";
+ }
+
+ public static void handleFluidSlotsBehaviour(InvSlotConsumableLiquidIHL fillInputSlot, InvSlotConsumableLiquidIHL drainInputSlot, InvSlotOutput emptyFluidItemsSlot, IFluidTank fluidTank)
+ {
+ MutableObject output;
+ if (drainInputSlot!=null && !drainInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if(fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, true),false)>0 && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, false),true);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ if (fillInputSlot!=null && !fillInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if (fillInputSlot.transferFromTank(fluidTank, output, true) && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fillInputSlot.transferFromTank(fluidTank, output, false);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ }
+ public static double[] tracePlayerView(EntityPlayer entityplayer)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+ if (entityplayer.worldObj!=null && entityplayer.worldObj.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+ double z = entityplayer.posZ;
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 1.0D;
+ return new double[] {x+f7 * d3, y+f6 * d3, z+f9 * d3};
+ }
+
+ public static MovingObjectPosition returnMOPFromPlayer(EntityPlayer entityplayer, World world)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+
+ if (world.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+
+ double z = entityplayer.posZ;
+ Vec3 vec3d = Vec3.createVectorHelper(x, y, z);
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 5.0D;
+ Vec3 vec3d1 = vec3d.addVector(f7 * d3, f6 * d3, f9 * d3);
+ MovingObjectPosition movingobjectposition = world.rayTraceBlocks(vec3d, vec3d1, true);
+
+ if (movingobjectposition == null)
+ {
+ return null;
+ }
+
+ if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
+ {
+ return movingobjectposition;
+ }
+ return null;
+ }
+
+ public static short getFacingFromPlayerView(EntityLivingBase player, boolean ignoreSneaking)
+ {
+ int var6 = MathHelper.floor_double(player.rotationPitch * 4.0F / 360.0F + 0.5D) & 3;
+ int var7 = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
+ {
+ if(var6==1)
+ {
+ return 1;
+ }
+ else if(var6==3)
+ {
+ return 0;
+ }
+ else
+ {
+ if(player.isSneaking() && !ignoreSneaking)
+ {
+ switch(var7)
+ {
+ case 0:
+ return 3;
+ case 1:
+ return 4;
+ case 2:
+ return 2;
+ case 3:
+ return 5;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ switch(var7)
+ {
+ case 0:
+ return 2;
+ case 1:
+ return 5;
+ case 2:
+ return 3;
+ case 3:
+ return 4;
+ default:
+ break;
+ }
+ }
+ }
+ }
+ return 3;
+ }
+
+ public static int getChainID(ItemStack itemStack)
+ {
+ if(itemStack!=null && itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("chainUID"))
+ {
+ return itemStack.stackTagCompound.getInteger("chainUID");
+ }
+ return -1;
+ }
+
+ public static List<ItemStack> convertRecipeInputToItemStackList(List<IRecipeInput> input)
+ {
+ Iterator<IRecipeInput> irii=input.iterator();
+ List<ItemStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInput iri = irii.next();
+ ItemStack stack = iri.getInputs().get(0);
+ stack.stackSize=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static List<FluidStack> convertRecipeInputToFluidStackList(List<IRecipeInputFluid> input) {
+ Iterator<IRecipeInputFluid> irii=input.iterator();
+ List<FluidStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInputFluid iri = irii.next();
+ FluidStack stack = iri.getInputs().get(0);
+ stack.amount=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static int[] decodeXYZ(long longNumber)
+ {
+ return new int[] {(int) ((longNumber>>30) & 0xfff)-256,(int) ((longNumber>>15) & 0xfff)-256,(int) (longNumber & 0xfff)-256};
+ }
+
+ public static long encodeXYZ(int x,int y,int z)
+ {
+ return (x+256L)<<30|((y+256L)<<15)|(z+256L);
+ }
+
+ public static int reduceVariableByAbsoluteValue(int variable)
+ {
+ if(variable==0)
+ {
+ return 0;
+ }
+ else if(variable<0)
+ {
+ return variable+1;
+ }
+ else
+ {
+ return variable-1;
+ }
+ }
+
+ public static long getXYZHash(int x,int y,int z)
+ {
+ return ((x&0x1FFFFF)<<42)|((y&0x1FFFFF)<<21)|(z&0x1FFFFF);
+ }
+
+ public static String trim(String str)
+ {
+ int len = str.length();
+ int start;
+ char c;
+ for (start = 0; start < len; ++start)
+ {
+ c = str.charAt(start);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ int end;
+ for (end = len - 1; end >= start; --end)
+ {
+ c = str.charAt(end);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ return start <= 0 && end >= len - 1 ? str : str.substring(start, end + 1);
+ }
+
+ public static int getAmountOf(ItemStack is)
+ {
+ if(is.getItem() instanceof IWire)
+ {
+ return getWireLength(is);
+ }
+ else
+ {
+ return is.stackSize;
+ }
+ }
+
+ public static ItemStack getWireItemStackCopyWithLengthMultiplied(ItemStack stack, int multiplier)
+ {
+ ItemStack out = stack.copy();
+ adjustWireLength(out,getWireLength(stack)*(multiplier-1));
+ return out;
+ }
+
+ public static ItemStack getUninsulatedWire(String material, int length, int transverseSection) {
+ ItemStack is = getThisModItemStack("copperWire");
+ is.stackTagCompound=new NBTTagCompound();
+ is.stackTagCompound.setBoolean("firstConnection",false);
+ is.stackTagCompound.setInteger("fullLength", length);
+ is.stackTagCompound.setInteger("length", length);
+ is.stackTagCompound.setBoolean("firstConnection", false);
+ is.stackTagCompound.setString("material", material);
+ is.stackTagCompound.setInteger("transverseSection",transverseSection);
+ is.stackTagCompound.setInteger("resistance", ElectricConductor.getResistivity(material)*100/transverseSection);
+ return is;
+ }
+
+ public static ItemStack getInsulatedWire(String material, int length, int transverseSection, String insulationMaterial, int insulationThickness) {
+ ItemStack is = getUninsulatedWire(material, length, transverseSection);
+ is.stackTagCompound.setString("insulationMaterial",insulationMaterial);
+ is.stackTagCompound.setInteger("insulationThickness",insulationThickness);
+ is.stackTagCompound.setInteger("maxVoltage", getInsulationMaxVoltage(insulationMaterial, insulationThickness));
+ return is;
+ }
+
+ public static int getInsulationMaxVoltage(String insulationMaterial, int insulationThickness)
+ {
+ return Math.min(Insulation.getMaxVoltagePermm(insulationMaterial)*insulationThickness/10,Insulation.getMaxVoltageCap(insulationMaterial));
+ }
+
+ public static ItemStack getItemStackWithTag(String unLocalizedName, String tag, int tagValue) {
+ ItemStack stack = IHLUtils.getThisModItemStack(unLocalizedName);
+ if(stack.stackTagCompound==null)
+ {
+ stack.stackTagCompound=new NBTTagCompound();
+ }
+ stack.stackTagCompound.setInteger(tag, tagValue);
+ return stack;
+ }
+
+ public static boolean isSegmentInsideAABB(AxisAlignedBB collisionBox, double posX, double posY, double posZ, double posX2, double posY2, double posZ2)
+ {
+ if(isInsideofBoundingBox(collisionBox,(float)posX,(float)posY,(float)posZ)||isInsideofBoundingBox(collisionBox,(float)posX2,(float)posY2,(float)posZ2))
+ {
+ return true;
+ }
+ else
+ {
+ double minX=Math.min(posX, posX2);
+ double maxX=Math.max(posX, posX2);
+ double minY=Math.min(posY, posY2);
+ double maxY=Math.max(posY, posY2);
+ double minZ=Math.min(posZ, posZ2);
+ double maxZ=Math.max(posZ, posZ2);
+ return !(maxX<collisionBox.minX || minX>collisionBox.maxX ||
+ maxY<collisionBox.minY || minY>collisionBox.maxY ||
+ maxZ<collisionBox.minZ || minZ>collisionBox.maxZ);
+ }
+ }
+
+ public static boolean isInsideofBoundingBox(AxisAlignedBB bb, float xi, float yi, float zi)
+ {
+ return bb.maxX>xi && bb.minX<xi && bb.maxY>yi && bb.minY<yi && bb.maxZ>zi && bb.minZ<zi;
+ }
+
+ public static boolean isBlockCanBeReplaced(World world, int x, int y, int z)
+ {
+ Block block = world.getBlock(x, y, z);
+ if(block==Blocks.air || block.isAir(world, x, y, z) || block == Blocks.vine || block == Blocks.tallgrass || block == Blocks.deadbush || block == Blocks.snow_layer || block == Blocks.snow)
+ {
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/50f158a8d9e200151b3e8eaec212bcd4 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/50f158a8d9e200151b3e8eaec212bcd4
new file mode 100644
index 0000000..caa7daf
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/50f158a8d9e200151b3e8eaec212bcd4
@@ -0,0 +1,878 @@
+package ihl.items_blocks;
+
+import ic2.api.tile.IWrenchable;
+import ic2.core.IC2;
+import ic2.core.IHasGui;
+import ic2.core.item.tool.ItemToolCutter;
+import ic2.core.item.tool.ItemToolWrench;
+import ihl.IHLCreativeTab;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.collector.GlassBoxTileEntity;
+import ihl.datanet.RedstoneSignalConverterTileEntity;
+import ihl.flexible_cable.BatterySwitchUnitTileEntity;
+import ihl.flexible_cable.IronWorkbenchTileEntity;
+import ihl.flexible_cable.RectifierTransformerUnitTileEntity;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.IMultiPowerCableHolder;
+import ihl.processing.chemistry.ChemicalReactorTileEntity;
+import ihl.processing.chemistry.CryogenicDistillerTileEntity;
+import ihl.processing.chemistry.ElectrolysisBathTileEntity;
+import ihl.processing.chemistry.FluidizedBedReactorTileEntity;
+import ihl.processing.chemistry.FractionatorBottomTileEntity;
+import ihl.processing.chemistry.FractionatorCoverTileEntity;
+import ihl.processing.chemistry.FractionatorSectionTileEntity;
+import ihl.processing.chemistry.GaedesMercuryRotaryPumpTileEntity;
+import ihl.processing.chemistry.GoldChimneyKneeTileEntity;
+import ihl.processing.chemistry.LabElectrolyzerTileEntity;
+import ihl.processing.chemistry.LeadOvenTileEntity;
+import ihl.processing.chemistry.LoomTileEntity;
+import ihl.processing.chemistry.PaperMachineTileEntity;
+import ihl.processing.chemistry.PrecipitatorCondenserTileEntity;
+import ihl.processing.chemistry.RefluxCondenserTileEntity;
+import ihl.processing.metallurgy.AchesonFurnanceTileEntity;
+import ihl.processing.metallurgy.CoilerTileEntity;
+import ihl.processing.metallurgy.DetonationSprayingMachineTileEntity;
+import ihl.processing.metallurgy.ExtruderTileEntity;
+import ihl.processing.metallurgy.GasWeldingStationTileEntity;
+import ihl.processing.metallurgy.ImpregnatingMachineTileEntity;
+import ihl.processing.metallurgy.LathePart1TileEntity;
+import ihl.processing.metallurgy.LathePart2TileEntity;
+import ihl.processing.metallurgy.MuffleFurnanceTileEntity;
+import ihl.processing.metallurgy.RollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.RollingMachinePart2TileEntity;
+import ihl.processing.metallurgy.VacuumInductionMeltingFurnaceTileEntity;
+import ihl.processing.metallurgy.VulcanizationExtrudingMoldTileEntity;
+import ihl.processing.metallurgy.WireMillTileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart2TileEntity;
+import ihl.tunneling_shield.HydrotransportPulpRegeneratorTileEntity;
+import ihl.utils.IHLUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.ITileEntityProvider;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class MachineBaseBlock extends Block implements ITileEntityProvider{
+
+ MachineType type;
+ private static List<MachineBaseBlock> instances = new ArrayList();
+
+ @SideOnly(Side.CLIENT)
+ IIcon textureSide,
+ textureBack,
+ textureFrontMuffleFurnance,
+ textureTop,
+ textureTopAchesonFurnance,
+ textureTopGoldFurnace,
+ textureFrontGoldFurnace,
+ textureSideGoldFurnace,
+ textureFrontCryogenicDistiller,
+ textureTopCryogenicDistiller,
+ textureBackCryogenicDistiller,
+ textureFrontChemicalReactor,
+ textureLeftMachineCasing,
+ textureTopMachineCasing,
+ textureRightMachineCasing,
+ textureFrontMachineCasing,
+ textureFrontPaperMachine,
+ textureBackMachineCasing,
+ frequencyGeneratorBack,
+ frequencyGeneratorBottom,
+ frequencyGeneratorFront,
+ frequencyGeneratorLeft,
+ frequencyGeneratorRight,
+ frequencyGeneratorTop,
+ bronzeTubTop,
+ bronzeTubSide,
+ glassBoxTop,
+ glassBoxSide,
+ glassBoxBottom,
+ glassBoxInnerSide,
+ glassBoxInnerBottom,
+ vacuumInductionMeltingFurnaceFront,
+ vacuumInductionMeltingFurnaceBack,
+ vacuumInductionMeltingFurnaceLeft,
+ vacuumInductionMeltingFurnaceRight,
+ hydrotransportPulpRegeneratorFront,
+ hydrotransportPulpRegeneratorBack,
+ redstoneSignalConverterEmitterSide,
+ redstoneSignalConverterEmptySide,
+ redstoneSignalConverterSensorSide,
+ steel,
+ redPaint,
+ greenPaint,
+ rubberInsulatedCase,
+ powerPort;
+
+ public MachineBaseBlock(MachineType type1)
+ {
+ super(Material.iron);
+ this.type=type1;
+ this.setCreativeTab(IHLCreativeTab.tab);
+ this.setBlockName(type.unlocalizedName);
+ this.setHardness(2F);
+ this.setResistance(1F);
+ instances.add(this);
+ }
+
+
+ @Override
+ public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
+ {
+ if(IC2.platform.isSimulating())
+ {
+ TileEntity te = world.getTileEntity(x,y,z);
+ if(world.getBlock(x, y+1, z)==Blocks.fire)
+ {
+ if(te instanceof DetonationSprayingMachineTileEntity)
+ {
+ ((DetonationSprayingMachineTileEntity)te).operate();
+ world.setBlockToAir(x, y+1, z);
+ }
+ }
+ if(te instanceof RedstoneSignalConverterTileEntity)
+ {
+ RedstoneSignalConverterTileEntity rscte = (RedstoneSignalConverterTileEntity) te;
+ rscte.linksOrInventoryChanged=true;
+ }
+ }
+ }
+
+
+ @Override
+ public void onBlockPreDestroy(World world, int x, int y, int z, int meta)
+ {
+ if(!world.isRemote)
+ {
+ TileEntity te = world.getTileEntity(x, y, z);
+ if(te!=null)
+ {
+ if(te instanceof IEnergyNetNode)
+ {
+ IEnergyNetNode ate = (IEnergyNetNode) te;
+ ate.removeAttachedChains();
+ }
+ if(te instanceof IMultiPowerCableHolder)
+ {
+ IMultiPowerCableHolder ate = (IMultiPowerCableHolder) te;
+ ate.removeAttachedChains();
+ }
+ if(te instanceof IronWorkbenchTileEntity)
+ {
+ IronWorkbenchTileEntity iwb=(IronWorkbenchTileEntity) te;
+ iwb.dropContents();
+ }
+ else if(te instanceof IInventory)
+ {
+ IInventory inventory = (IInventory)te;
+ for(int i = 0; i< inventory.getSizeInventory();i++)
+ {
+ if(inventory.getStackInSlot(i)!=null)world.spawnEntityInWorld(new EntityItem(world, x, y+1, z, inventory.getStackInSlot(i)));
+ }
+ }
+ if(te instanceof RedstoneSignalConverterTileEntity)
+ {
+ RedstoneSignalConverterTileEntity rsce = (RedstoneSignalConverterTileEntity)te;
+ rsce.removeAttachedChains();
+ }
+ }
+ }
+ super.onBlockPreDestroy(world, x, y, z, meta);
+ }
+
+ @Override
+ public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity entity)
+ {
+ switch(this.type)
+ {
+ case BronzeTub:
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.1F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.1F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.1F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.9F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.9F, 1.0F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBoundsForItemRender();
+ break;
+ case GlassBox:
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.1F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.1F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.1F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.9F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBounds(0.0F, 0.0F, 0.9F, 1.0F, 1.0F, 1.0F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ this.setBlockBoundsForItemRender();
+ break;
+ case RedstoneSignalConverter:
+ this.setBlockBounds(0.2F, 0.2F, 0.2F, 0.8F, 0.8F, 0.8F);
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ break;
+ default:
+ super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
+ break;
+ }
+ }
+
+ @Override
+ public void setBlockBoundsForItemRender()
+ {
+ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
+ }
+
+ @Override
+ public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int x, int y, int z)
+ {
+ int facing = 3;
+ TileEntity te = blockAccess.getTileEntity(x, y, z);
+ if(te!=null && te instanceof IWrenchable)
+ {
+ IWrenchable tebh = (IWrenchable) te;
+ facing=tebh.getFacing();
+ }
+ switch(this.type)
+ {
+ case VacuumInductionMeltingFurnace:
+ switch(facing)
+ {
+ case 0:
+ this.setBlockBounds(-1.0F, -2.0F, 0.0F, 2.0F, 1.0F, 3.0F);
+ break;
+ case 1:
+ this.setBlockBounds(-1.0F, 0.0F, 0.0F, 2.0F, 3.0F, 3.0F);
+ break;
+ case 2:
+ this.setBlockBounds(-1.0F, 0.0F, -2.0F, 2.0F, 3.0F, 1.0F);
+ break;
+ case 3:
+ this.setBlockBounds(-1.0F, 0.0F, 0.0F, 2.0F, 3.0F, 3.0F);
+ break;
+ case 4:
+ this.setBlockBounds(-2.0F, 0.0F, -1.0F, 1.0F, 3.0F, 2.0F);
+ break;
+ case 5:
+ this.setBlockBounds(0.0F, 0.0F, -1.0F, 3.0F, 3.0F, 2.0F);
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ super.setBlockBoundsBasedOnState(blockAccess, x, y, z);
+ break;
+ }
+ }
+
+ public static void init()
+ {
+ MachineType[] var1 = MachineType.values();
+ for(int i=0;i<var1.length;i++)
+ {
+ if(!var1[i].unlocalizedName.equalsIgnoreCase(IHLMod.config.preventMachineBlockRegistrationName))
+ {
+ GameRegistry.registerBlock(new MachineBaseBlock(var1[i]), IHLItemBlock.class,var1[i].unlocalizedName);
+ GameRegistry.registerTileEntity(var1[i].teclass,var1[i].unlocalizedName);
+ }
+ }
+ IHLUtils.getThisModBlock("tubBronze").setBlockTextureName("tubBronzeIcon");
+ }
+
+ @Override
+ public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int flag)
+ {
+ if(this.type.itemDroppedOnBlockDestroy!=null)
+ {
+ this.dropBlockAsItem(world, x, y, z, this.type.itemDroppedOnBlockDestroy.copy());
+ }
+ else
+ {
+ super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, flag);
+ }
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World world, int var2) {
+ TileEntity newTE = null;
+ try
+ {
+ newTE = (TileEntity) type.teclass.newInstance();
+ }
+ catch (InstantiationException e)
+ {
+ e.printStackTrace();
+ }
+ catch (IllegalAccessException e)
+ {
+ e.printStackTrace();
+ }
+ return newTE;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister par1IconRegister)
+ {
+ this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenSide");
+ this.textureBack = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenBack");
+ this.textureSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenSide");
+ this.textureTop = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenTop");
+ this.textureFrontMuffleFurnance = par1IconRegister.registerIcon(IHLModInfo.MODID + ":muffleOvenFront");
+ this.textureTopAchesonFurnance = par1IconRegister.registerIcon(IHLModInfo.MODID + ":achesonOvenTop");
+ this.textureTopGoldFurnace = par1IconRegister.registerIcon(IHLModInfo.MODID + ":porcelainFurnaceTop");
+ this.textureFrontGoldFurnace = par1IconRegister.registerIcon(IHLModInfo.MODID + ":porcelainFurnaceFront");
+ this.textureSideGoldFurnace = par1IconRegister.registerIcon(IHLModInfo.MODID + ":porcelainFurnaceSide");
+ this.textureLeftMachineCasing = par1IconRegister.registerIcon(IHLModInfo.MODID + ":fiberglassSpinneretsLeft");
+ this.textureTopMachineCasing = par1IconRegister.registerIcon(IHLModInfo.MODID + ":fiberglassSpinneretsTop");
+ this.textureRightMachineCasing = par1IconRegister.registerIcon(IHLModInfo.MODID + ":fiberglassSpinneretsRight");
+ this.textureFrontMachineCasing = par1IconRegister.registerIcon(IHLModInfo.MODID + ":fiberglassSpinneretsFront");
+ this.textureBackMachineCasing = par1IconRegister.registerIcon(IHLModInfo.MODID + ":fiberglassSpinneretsBack");
+ this.textureFrontCryogenicDistiller = par1IconRegister.registerIcon(IHLModInfo.MODID + ":cryogenicDistillerOxygenSide");
+ this.textureTopCryogenicDistiller = par1IconRegister.registerIcon(IHLModInfo.MODID + ":cryogenicDistillerNitrogenSide");
+ this.textureBackCryogenicDistiller = par1IconRegister.registerIcon(IHLModInfo.MODID + ":cryogenicDistillerInputSide");
+ this.textureFrontChemicalReactor = par1IconRegister.registerIcon(IHLModInfo.MODID + ":chemicalReactorOutputSide");
+ this.textureFrontPaperMachine = par1IconRegister.registerIcon(IHLModInfo.MODID + ":paperMachineFront");
+ this.frequencyGeneratorBack = par1IconRegister.registerIcon(IHLModInfo.MODID + ":frequencyGeneratorBack");
+ this.frequencyGeneratorFront = par1IconRegister.registerIcon(IHLModInfo.MODID + ":frequencyGeneratorFront");
+ this.frequencyGeneratorTop = par1IconRegister.registerIcon(IHLModInfo.MODID + ":frequencyGeneratorTop");
+ this.frequencyGeneratorLeft = par1IconRegister.registerIcon(IHLModInfo.MODID + ":frequencyGeneratorLeft");
+ this.frequencyGeneratorRight = par1IconRegister.registerIcon(IHLModInfo.MODID + ":frequencyGeneratorRight");
+ this.frequencyGeneratorBottom = par1IconRegister.registerIcon(IHLModInfo.MODID + ":frequencyGeneratorBottom");
+ this.bronzeTubTop = par1IconRegister.registerIcon(IHLModInfo.MODID + ":tubBronzeTop");
+ this.bronzeTubSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":tubBronzeSide");
+ this.glassBoxBottom = par1IconRegister.registerIcon(IHLModInfo.MODID + ":glassBoxBottom");
+ this.glassBoxInnerBottom = par1IconRegister.registerIcon(IHLModInfo.MODID + ":glassBoxInnerBottom");
+ this.glassBoxInnerSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":glassBoxInnerSide");
+ this.glassBoxSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":glassBoxSide");
+ this.glassBoxTop = par1IconRegister.registerIcon(IHLModInfo.MODID + ":glassBoxTop");
+ this.vacuumInductionMeltingFurnaceFront = par1IconRegister.registerIcon(IHLModInfo.MODID + ":vacuumInductionMeltingFurnaceFront");
+ this.vacuumInductionMeltingFurnaceBack = par1IconRegister.registerIcon(IHLModInfo.MODID + ":vacuumInductionMeltingFurnaceBack");
+ this.vacuumInductionMeltingFurnaceLeft = par1IconRegister.registerIcon(IHLModInfo.MODID + ":vacuumInductionMeltingFurnaceLeft");
+ this.vacuumInductionMeltingFurnaceRight = par1IconRegister.registerIcon(IHLModInfo.MODID + ":vacuumInductionMeltingFurnaceRight");
+ this.hydrotransportPulpRegeneratorFront = par1IconRegister.registerIcon(IHLModInfo.MODID + ":hydrotransportPulpRegeneratorFront");
+ this.hydrotransportPulpRegeneratorBack = par1IconRegister.registerIcon(IHLModInfo.MODID + ":hydrotransportPulpRegeneratorBack");
+ this.redstoneSignalConverterEmitterSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":redstoneSignalConverterEmitterSide");
+ this.redstoneSignalConverterEmptySide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":redstoneSignalConverterEmptySide");
+ this.redstoneSignalConverterSensorSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":redstoneSignalConverterSensorSide");
+ this.steel = par1IconRegister.registerIcon(IHLModInfo.MODID + ":steel");
+ this.redPaint = par1IconRegister.registerIcon(IHLModInfo.MODID + ":redPaint");
+ this.greenPaint = par1IconRegister.registerIcon(IHLModInfo.MODID + ":greenPaint");
+ this.rubberInsulatedCase = par1IconRegister.registerIcon(IHLModInfo.MODID + ":rubberInsulatedCase");
+ this.powerPort = par1IconRegister.registerIcon(IHLModInfo.MODID + ":powerPort");
+ }
+
+ @Override
+ public boolean hasTileEntity(int metadata)
+ {
+ return true;
+ }
+
+ @Override
+ public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer player,int i,float pos_x,float pos_y,float pos_z){
+ TileEntity te = world.getTileEntity(x,y,z);
+ if(IC2.platform.isSimulating())
+ {
+ if(te instanceof DetonationSprayingMachineTileEntity && player.getCurrentEquippedItem()!=null && player.getCurrentEquippedItem().getItem() == Items.flint_and_steel)
+ {
+ ((DetonationSprayingMachineTileEntity)te).operate();
+ return true;
+ }
+ if(te instanceof LathePart2TileEntity)
+ {
+ LathePart2TileEntity lte = ((LathePart2TileEntity)te);
+ te = world.getTileEntity(x-ForgeDirection.getOrientation(lte.getFacing()).offsetX,y-ForgeDirection.getOrientation(lte.getFacing()).offsetY,z-ForgeDirection.getOrientation(lte.getFacing()).offsetZ);
+ }
+ if(te instanceof RollingMachinePart2TileEntity)
+ {
+ RollingMachinePart2TileEntity lte = ((RollingMachinePart2TileEntity)te);
+ te = world.getTileEntity(x-ForgeDirection.getOrientation(lte.getFacing()).offsetX,y-ForgeDirection.getOrientation(lte.getFacing()).offsetY,z-ForgeDirection.getOrientation(lte.getFacing()).offsetZ);
+ }
+ if(te instanceof WoodenRollingMachinePart2TileEntity)
+ {
+ WoodenRollingMachinePart2TileEntity lte = ((WoodenRollingMachinePart2TileEntity)te);
+ te = world.getTileEntity(x-ForgeDirection.getOrientation(lte.getFacing()).offsetX,y-ForgeDirection.getOrientation(lte.getFacing()).offsetY,z-ForgeDirection.getOrientation(lte.getFacing()).offsetZ);
+ }
+ if(te instanceof RectifierTransformerUnitTileEntity)
+ {
+ RectifierTransformerUnitTileEntity rtu = (RectifierTransformerUnitTileEntity)te;
+ if(player.getCurrentEquippedItem()==null)
+ {
+ if(IC2.keyboard.isModeSwitchKeyDown(player))
+ {
+ rtu.switchModeDown();
+ }
+ else
+ {
+ rtu.switchModeUp();
+ }
+ IC2.platform.messagePlayer(player, "ic2.tooltip.mode", new Object[] {" Voltage output was set to x" + rtu.mode});
+ }
+ }
+ if(te instanceof IEnergyNetNode)
+ {
+ IEnergyNetNode node = (IEnergyNetNode)te;
+ if(player.getCurrentEquippedItem()!=null && player.getCurrentEquippedItem().getItem() instanceof ItemToolCutter)
+ {
+ node.removeAttachedChains();
+ }
+ }
+ }
+ return te instanceof IHasGui ? (IC2.platform.isSimulating() ? IC2.platform.launchGui(player, (IHasGui)te) : true) : false;
+ }
+
+
+ /**
+ * Called when the block is placed in the world.
+ */
+ @Override
+ public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack)
+ {
+ TileEntity t = world.getTileEntity(x, y, z);
+ if(t!=null && t instanceof IWrenchable)
+ {
+ ((IWrenchable)t).setFacing(IHLUtils.getFacingFromPlayerView(player,false));
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
+ {
+ int facing=3;
+ int mask[] = {
+ 0,1,2,3,4,5,
+ 1,0,3,2,4,5,
+ 2,3,0,1,4,5,
+ 2,3,1,0,4,5,
+ 2,3,5,4,0,1,
+ 2,3,4,5,1,0
+ };
+ TileEntity te = world.getTileEntity(x, y, z);
+ if(te instanceof IWrenchable)
+ {
+ IWrenchable tebh = (IWrenchable) te;
+ facing=tebh.getFacing();
+ }
+ return this.getIconFromFacing(facing, side);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int side, int meta)
+ {
+ if(this.type==MachineType.IronWorkbench)
+ {
+ return this.steel;
+ }
+ if(this.type==MachineType.RedstoneSignalConverter)
+ {
+ return this.redstoneSignalConverterEmptySide;
+ }
+ if(this.type==MachineType.RectifierTransformerUnit)
+ {
+ switch(side)
+ {
+ case 0:
+ return this.bronzeTubSide;
+ case 1:
+ return this.textureSideGoldFurnace;
+ case 2:
+ return this.redPaint;
+ case 3:
+ return this.greenPaint;
+ case 4:
+ return this.rubberInsulatedCase;
+ case 5:
+ return this.powerPort;
+ }
+ }
+ return this.getIconFromFacing(3, side);
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromFacing(int facing, int side)
+ {
+ int mask[] = {
+ 0,1,2,3,4,5,
+ 1,0,3,2,4,5,
+ 2,3,0,1,4,5,
+ 2,3,1,0,4,5,
+ 2,3,5,4,0,1,
+ 2,3,4,5,1,0
+ };
+ switch(this.type)
+ {
+ case RefluxCondenser:
+ return this.steel;
+ case RectifierTransformerUnit:
+ return this.bronzeTubSide;
+ default:
+ }
+ switch (mask[facing*6+side])
+ {
+ case 0:
+ switch(this.type)
+ {
+ case HydrotransportPulpRegenerator:
+ return this.hydrotransportPulpRegeneratorFront;
+ case GlassBox:
+ return this.glassBoxSide;
+ case BronzeTub:
+ return this.bronzeTubSide;
+ case AchesonFurnace:
+ return this.blockIcon;
+ case MuffleFurnace:
+ return this.textureFrontMuffleFurnance;
+ case LeadOven:
+ return this.textureFrontGoldFurnace;
+ case WireMill:
+ return this.textureFrontMachineCasing;
+ case LabElectrolyzer:
+ return this.textureTopMachineCasing;
+ case FluidizedBedReactor:
+ return this.textureTopMachineCasing;
+ case ChemicalReactor:
+ return this.textureFrontChemicalReactor;
+ case CryogenicDistiller:
+ return this.textureFrontCryogenicDistiller;
+ case PaperMachine:
+ return this.textureFrontPaperMachine;
+ case VacuumInductionMeltingFurnace:
+ return this.vacuumInductionMeltingFurnaceFront;
+ default:
+ break;
+ }
+ case 1:
+ switch(this.type)
+ {
+ case HydrotransportPulpRegenerator:
+ return this.hydrotransportPulpRegeneratorBack;
+ case GlassBox:
+ return this.glassBoxSide;
+ case BronzeTub:
+ return this.bronzeTubSide;
+ case LeadOven:
+ return this.textureSideGoldFurnace;
+ case WireMill:
+ return this.textureBackMachineCasing;
+ case CryogenicDistiller:
+ return this.textureBackCryogenicDistiller;
+ case PaperMachine:
+ return this.textureBackCryogenicDistiller;
+ case LabElectrolyzer:
+ return this.textureBackCryogenicDistiller;
+ case FluidizedBedReactor:
+ return this.textureBackCryogenicDistiller;
+ case ChemicalReactor:
+ return this.textureBackCryogenicDistiller;
+ case VacuumInductionMeltingFurnace:
+ return this.vacuumInductionMeltingFurnaceBack;
+ default:
+ return this.textureBack;
+ }
+
+ case 2:
+ switch(this.type)
+ {
+ case HydrotransportPulpRegenerator:
+ return this.textureBackMachineCasing;
+ case GlassBox:
+ return this.glassBoxBottom;
+ case BronzeTub:
+ return this.bronzeTubSide;
+ case LeadOven:
+ return this.textureSideGoldFurnace;
+ case WireMill:
+ return this.textureBackMachineCasing;
+ case CryogenicDistiller:
+ return this.textureBackMachineCasing;
+ case PaperMachine:
+ return this.textureBackMachineCasing;
+ case LabElectrolyzer:
+ return this.textureBackMachineCasing;
+ case FluidizedBedReactor:
+ return this.textureBackMachineCasing;
+ case ChemicalReactor:
+ return this.textureBackMachineCasing;
+ case VacuumInductionMeltingFurnace:
+ return this.vacuumInductionMeltingFurnaceRight;
+ default:
+ return this.textureTop;
+ }
+ case 3:
+ switch(this.type)
+ {
+ case HydrotransportPulpRegenerator:
+ return this.textureTopMachineCasing;
+ case GlassBox:
+ return this.glassBoxTop;
+ case BronzeTub:
+ return this.bronzeTubTop;
+ case AchesonFurnace:
+ return this.textureTopAchesonFurnance;
+ case MuffleFurnace:
+ return this.textureTop;
+ case LeadOven:
+ return this.textureTopGoldFurnace;
+ case WireMill:
+ return this.textureTopMachineCasing;
+ case CryogenicDistiller:
+ return this.textureTopCryogenicDistiller;
+ case PaperMachine:
+ return this.textureTopMachineCasing;
+ case LabElectrolyzer:
+ return this.textureTopMachineCasing;
+ case FluidizedBedReactor:
+ return this.textureTopMachineCasing;
+ case ChemicalReactor:
+ return this.textureTopMachineCasing;
+ case VacuumInductionMeltingFurnace:
+ return this.vacuumInductionMeltingFurnaceRight;
+ default:
+ return this.textureTop;
+ }
+ case 4:
+ switch(this.type)
+ {
+ case HydrotransportPulpRegenerator:
+ return this.textureRightMachineCasing;
+ case GlassBox:
+ return this.glassBoxSide;
+ case BronzeTub:
+ return this.bronzeTubSide;
+ case LeadOven:
+ return this.textureSideGoldFurnace;
+ case WireMill:
+ return this.textureRightMachineCasing;
+ case CryogenicDistiller:
+ return this.textureRightMachineCasing;
+ case PaperMachine:
+ return this.textureRightMachineCasing;
+ case LabElectrolyzer:
+ return this.textureRightMachineCasing;
+ case FluidizedBedReactor:
+ return this.textureRightMachineCasing;
+ case ChemicalReactor:
+ return this.textureRightMachineCasing;
+ case VacuumInductionMeltingFurnace:
+ return this.vacuumInductionMeltingFurnaceRight;
+ default:
+ return this.textureSide;
+ }
+ case 5:
+ switch(this.type)
+ {
+ case HydrotransportPulpRegenerator:
+ return this.textureLeftMachineCasing;
+ case GlassBox:
+ return this.glassBoxSide;
+ case BronzeTub:
+ return this.bronzeTubSide;
+ case LeadOven:
+ return this.textureSideGoldFurnace;
+ case CryogenicDistiller:
+ return this.textureLeftMachineCasing;
+ case PaperMachine:
+ return this.textureLeftMachineCasing;
+ case WireMill:
+ return this.textureLeftMachineCasing;
+ case ChemicalReactor:
+ return this.textureLeftMachineCasing;
+ case LabElectrolyzer:
+ return this.textureLeftMachineCasing;
+ case FluidizedBedReactor:
+ return this.textureLeftMachineCasing;
+ case VacuumInductionMeltingFurnace:
+ return this.vacuumInductionMeltingFurnaceLeft;
+ default:
+ return this.textureSide;
+ }
+ default:
+ return this.textureSide;
+ }
+ }
+
+ @Override
+ public boolean onBlockEventReceived(World world, int x, int y, int z, int metadata, int flag)
+ {
+ return true;
+ }
+
+ @Override
+ public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side)
+ {
+ TileEntity te = world.getTileEntity(x, y, z);
+ if(te instanceof RedstoneSignalConverterTileEntity)
+ {
+ RedstoneSignalConverterTileEntity rte = (RedstoneSignalConverterTileEntity) te;
+ return rte.isProvidingRedstonePower(side);
+ }
+ return 0;
+ }
+
+ @Override
+ public boolean canProvidePower()
+ {
+ return true;
+ }
+
+ @Override
+ public int isProvidingStrongPower(IBlockAccess world, int x, int y, int z, int metadata)
+ {
+ return this.isProvidingWeakPower(world, x, y, z, metadata);
+ }
+
+ public enum MachineType
+ {
+
+ IronWorkbench("ironWorkbench",IronWorkbenchTileEntity.class, false, true, null),
+ RedstoneSignalConverter("redstoneSignalConverter",RedstoneSignalConverterTileEntity.class, true, true, IHLUtils.getThisModItemStack("foilSteel")),
+ HydrotransportPulpRegenerator("hydrotransportPulpRegenerator", HydrotransportPulpRegeneratorTileEntity.class, true, IHLUtils.getThisModItemStack("extruderSetOfMoldedPartsSteel")),
+ VacuumInductionMeltingFurnace("vacuumInductionMeltingFurnace", VacuumInductionMeltingFurnaceTileEntity.class, true, IHLUtils.getThisModItemStack("foilSteel")),
+ GlassBox("glassBoxBlock",GlassBoxTileEntity.class, false, true, IHLUtils.getThisModItemStack("dustGlass")),
+ ElectrolysisBath("electrolysisBath",ElectrolysisBathTileEntity.class, false, IHLUtils.getThisModItemStack("plateGraphite")),
+ RectifierTransformerUnit("rectifierTransformerUnit",RectifierTransformerUnitTileEntity.class, false, true, IHLUtils.getThisModItemStack("foilSteel")),
+ BatterySwitchUnit("batterySwitchUnit",BatterySwitchUnitTileEntity.class, false, IHLUtils.getThisModItemStack("foilSteel")),
+ FractionatorBottom("fractionatorBottom",FractionatorBottomTileEntity.class, false, IHLUtils.getThisModItemStack("foilSteel")),
+ FractionatorSection("fractionatorSection",FractionatorSectionTileEntity.class, false, IHLUtils.getThisModItemStackWithSize("ringPorcelain",16)),
+ FractionatorCover("fractionatorCover",FractionatorCoverTileEntity.class, false, IHLUtils.getThisModItemStack("foilSteel")),
+ RefluxCondenser("refluxCondenser",RefluxCondenserTileEntity.class, false,false, IHLUtils.getThisModItemStack("foilSteel")),
+ PaperMachine("paperMachine",PaperMachineTileEntity.class, true, IHLUtils.getThisModItemStack("stickSteel")),
+ GaedesMercuryRotaryPump("gaedesMercuryRotaryPump",GaedesMercuryRotaryPumpTileEntity.class,false, IHLUtils.getThisModItemStack("foilSteel")),
+ LabElectrolyzer("labElectrolyzer",LabElectrolyzerTileEntity.class, true, IHLUtils.getThisModItemStack("stickGraphite")),
+ FluidizedBedReactor("fluidizedBedReactor",FluidizedBedReactorTileEntity.class, true, IHLUtils.getThisModItemStack("highPressureVesselSteel")),
+ ChemicalReactor("chemicalReactor",ChemicalReactorTileEntity.class, true, IHLUtils.getThisModItemStack("highPressureVesselSteel")),
+ CryogenicDistiller("cryogenicDistiller",CryogenicDistillerTileEntity.class, true, IHLUtils.getThisModItemStack("highPressureVesselSteel")),
+ GasWeldingStation("gasWeldingStation",GasWeldingStationTileEntity.class, false, null),
+ WoodenRollingMachine1("woodenRollingMachinePart1",WoodenRollingMachinePart1TileEntity.class, false, IHLUtils.getThisModItemStack("barD10Steel")),
+ WoodenRollingMachine2("woodenRollingMachinePart2",WoodenRollingMachinePart2TileEntity.class, false, IHLUtils.getThisModItemStack("barD10Steel")),
+ WireMill("wireMill",WireMillTileEntity.class, true, IHLUtils.getThisModItemStack("stickSteel")),
+ VulcanizationExtrudingMold("vulcanizationExtrudingMold",VulcanizationExtrudingMoldTileEntity.class, false, IHLUtils.getThisModItemStack("dustCarborundum")),
+ Extruder("extruder",ExtruderTileEntity.class, false, IHLUtils.getThisModItemStack("dustCarborundum")),
+ RollingMachine1("rollingMachinePart1",RollingMachinePart1TileEntity.class, false, IHLUtils.getThisModItemStack("stickSteel")),
+ RollingMachine2("rollingMachinePart2",RollingMachinePart2TileEntity.class, false, IHLUtils.getThisModItemStack("stickSteel")),
+ Loom("loom", LoomTileEntity.class, false, new ItemStack(Items.stick)),
+ Coiler("coiler",CoilerTileEntity.class, false, new ItemStack(Items.stick)),
+ Lathe1("lathePart1",LathePart1TileEntity.class, false, IHLUtils.getThisModItemStack("stickSteel")),
+ Lathe2("lathePart2",LathePart2TileEntity.class, false, IHLUtils.getOreDictItemStack("plateSteel")),
+ PrecipitatorCondenser("goldPrecipitatorCondenser",PrecipitatorCondenserTileEntity.class, false, IHLUtils.getThisModItemStack("dustPorcelain")),
+ GoldChimneyKnee("goldChimneyKnee",GoldChimneyKneeTileEntity.class, false, IHLUtils.getThisModItemStack("dustPorcelain")),
+ LeadOven("leadOven",LeadOvenTileEntity.class, true, IHLUtils.getThisModItemStack("dustPorcelain")),
+ DetonationSprayingMachine("cannonBronze",DetonationSprayingMachineTileEntity.class, false, new ItemStack(Items.stick)),
+ BronzeTub("tubBronze",ImpregnatingMachineTileEntity.class, false, true, null),
+ AchesonFurnace("achesonFurnance",AchesonFurnanceTileEntity.class, true, new ItemStack(Items.brick)),
+ MuffleFurnace("muffleFurnance",MuffleFurnanceTileEntity.class, true, new ItemStack(Items.brick));
+ MachineType(String unlocalizedName1, Class teclass1, boolean isNormalBlock1,ItemStack itemDroppedOnBlockDestroy1)
+ {
+ unlocalizedName=unlocalizedName1;
+ teclass=teclass1;
+ isNormalBlock=isNormalBlock1;
+ if(isNormalBlock)
+ {
+ specialBlockRendererId=0;
+ }
+ else
+ {
+ specialBlockRendererId=-2;
+ }
+ itemDroppedOnBlockDestroy=itemDroppedOnBlockDestroy1;
+ }
+ MachineType(String unlocalizedName1, Class teclass1, boolean isNormalBlock1,boolean hasSpecialBlockRenderer1, ItemStack itemDroppedOnBlockDestroy1)
+ {
+ unlocalizedName=unlocalizedName1;
+ teclass=teclass1;
+ isNormalBlock=isNormalBlock1;
+ hasSpecialBlockRenderer=hasSpecialBlockRenderer1;
+ itemDroppedOnBlockDestroy=itemDroppedOnBlockDestroy1;
+
+ }
+ String unlocalizedName;
+ Class teclass;
+ boolean isNormalBlock=true;
+ boolean hasSpecialBlockRenderer=false;
+ int specialBlockRendererId=-2;
+ ItemStack itemDroppedOnBlockDestroy;
+ }
+
+ @Override
+ public int getRenderType()
+ {
+ if(this.type.hasSpecialBlockRenderer)
+ {
+ return IHLMod.proxy.shareBlockRendererByMachineType(this.type);
+ }
+ return this.type.specialBlockRendererId;
+ }
+
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return this.type==null?false:this.type.isNormalBlock;
+ }
+
+ @Override
+ public boolean renderAsNormalBlock()
+ {
+ return this.type.isNormalBlock;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon getAdditionalIconsForBlockRenderer(int flag)
+ {
+ switch(this.type)
+ {
+ case BronzeTub:
+ return this.bronzeTubSide;
+ case GlassBox:
+ switch(flag)
+ {
+ case 0:
+ return this.glassBoxInnerSide;
+ case 1:
+ return this.glassBoxInnerBottom;
+ }
+ case RedstoneSignalConverter:
+ switch(flag)
+ {
+ case 0:
+ return this.redstoneSignalConverterEmptySide;
+ case 1:
+ return this.redstoneSignalConverterEmitterSide;
+ case 2:
+ return this.redstoneSignalConverterSensorSide;
+ }
+ default:
+ return this.blockIcon;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/dc/50374e2ca4e00015119a88e59fd033e2 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/dc/50374e2ca4e00015119a88e59fd033e2
new file mode 100644
index 0000000..588ee99
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/dc/50374e2ca4e00015119a88e59fd033e2
@@ -0,0 +1,146 @@
+package ihl.flexible_cable;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import ic2.core.IC2;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.inventory.Slot;
+import net.minecraft.util.ResourceLocation;
+
+import org.lwjgl.opengl.GL11;
+
+import ic2.core.network.NetworkManager;
+import ihl.interfaces.ItemMiniGUI;
+import ihl.utils.IHLRenderUtils;
+
+@SideOnly(Side.CLIENT)
+public class IronWorkbenchGui extends GuiContainer {
+ private static final ResourceLocation background = new ResourceLocation("ihl", "textures/gui/GUIIronWorkbench.png");
+ private IronWorkbenchContainer container;
+ private ItemMiniGUI miniGui;
+ private static final short outputslotoffset=66;
+
+ public IronWorkbenchGui (IronWorkbenchContainer container1) {
+ //the container is instanciated and passed to the superclass for handling
+ super(container1);
+ this.container=container1;
+ this.ySize=IronWorkbenchContainer.height;
+ }
+
+ @Override
+ public void initGui()
+ {
+ super.initGui();
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2)
+ {
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ for(int row = 1;row<6;row++)
+ {
+ if(!this.container.tileEntity.workspaceElements.ready[row] && this.container.tileEntity.workspaceElements.get(row)!=null)
+ {
+ IHLRenderUtils.instance.drawWorkspaceElementTooltip(par1, par2, 8+x, 8+y+row*18, this.container.tileEntity.workspaceElements.get(row));
+ }
+ }
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2,
+ int par3) {
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ this.mc.renderEngine.bindTexture(background);
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ if (this.container.tileEntity.progress > 0)
+ {
+ int progressLevel=Math.min(Math.round(this.container.tileEntity.progress*16.0F/this.container.tileEntity.maxProgress),16);
+ int frameNum=0;
+ short slotRecipeNum=this.container.tileEntity.output.slotRecipe[0];
+ for(int row = 0;row<6;row++)
+ {
+ for (int col = 0; col<3; ++col)
+ {
+ if(slotRecipeNum!=this.container.tileEntity.output.slotRecipe[col+row*3])
+ {
+ frameNum++;
+ slotRecipeNum=this.container.tileEntity.output.slotRecipe[col+row*3];
+ }
+ if(this.container.tileEntity.currentSlot==slotRecipeNum)
+ {
+ int i1 = Math.min(this.container.tileEntity.gaugeProgressScaled(18),18);
+ this.drawTexturedModalRect(115+x+col*18, 7+y+row*18, 176, 72,i1,18);
+ this.drawTexturedModalRect(115+x+col*18, 7+y+row*18, 176+getFrameX(frameNum), getFrameY(frameNum),18,18);
+ }
+ }
+ }
+ }
+ else
+ {
+ int frameNum=0;
+ short slotRecipeNum=this.container.tileEntity.output.slotRecipe[0];
+ for(int row = 0;row<6;row++)
+ {
+ for (int col = 0;col<3; ++col)
+ {
+ if(slotRecipeNum!=this.container.tileEntity.output.slotRecipe[col+row*3])
+ {
+ frameNum++;
+ slotRecipeNum=this.container.tileEntity.output.slotRecipe[col+row*3];
+ }
+ if(this.container.tileEntity.output.get(col+row*3)!=null)
+ {
+ this.drawTexturedModalRect(115+x+col*18, 7+y+row*18, 176+getFrameX(frameNum), getFrameY(frameNum),18,18);
+ }
+ }
+ }
+ }
+ for(int row = 1;row<6;row++)
+ {
+ if(!this.container.tileEntity.workspaceElements.ready[row])
+ {
+ this.drawTexturedModalRect(20+x, 9+y+row*18, 194, 74,3,14);
+ }
+ }
+ }
+
+ @Override
+ public void onGuiClosed()
+ {
+ super.onGuiClosed();
+ this.container.tileEntity.isGuiScreenOpened=false;
+ IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, 16);
+ }
+
+ @Override
+ public void handleMouseClick(Slot slot,int slotNumber,int mouseButton/*0=left 1=right*/,int arg3)
+ {
+ if(slot!=null && slot.slotNumber>=outputslotoffset && slot.slotNumber<outputslotoffset+18)
+ {
+ if(mouseButton==0)
+ {
+ IC2.network.get().initiateClientTileEntityEvent(this.container.tileEntity, slot.slotNumber-outputslotoffset);
+ }
+ else if(mouseButton==1)
+ {
+
+ }
+ }
+ super.handleMouseClick(slot, slotNumber, mouseButton, arg3);
+ }
+
+ private int getFrameX(int number)
+ {
+ return (number % 4) * 18;
+ }
+ private int getFrameY(int number)
+ {
+ return ((number>>2) & 3)*18;
+ }
+
+} \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/b02f8eb743a000151531bed9130b5444 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/b02f8eb743a000151531bed9130b5444
new file mode 100644
index 0000000..155824a
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/b02f8eb743a000151531bed9130b5444
@@ -0,0 +1,391 @@
+package ihl;
+
+import java.io.File;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.IntBuffer;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.lwjgl.LWJGLException;
+import org.lwjgl.opengl.Display;
+import org.lwjgl.opengl.EXTFramebufferObject;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.Pbuffer;
+import org.lwjgl.opengl.PixelFormat;
+
+import ic2.core.IC2;
+import ihl.collector.ChargerEjectorModel;
+import ihl.collector.ChargerEjectorRender;
+import ihl.collector.ChargerEjectorTileEntity;
+import ihl.collector.CollectorEntity;
+import ihl.collector.CollectorHeavyEntity;
+import ihl.collector.CollectorItemRender;
+import ihl.collector.CollectorRender;
+import ihl.collector.GlassBoxRender;
+import ihl.collector.GlassBoxTileEntity;
+import ihl.crop_harvestors.BlobEntityFX;
+import ihl.crop_harvestors.BlobEntityFX.FluidType;
+import ihl.crop_harvestors.BlobRenderFX;
+import ihl.crop_harvestors.SackRender;
+import ihl.crop_harvestors.SackTileEntity;
+import ihl.enviroment.LightBulbModel;
+import ihl.enviroment.LightBulbRender;
+import ihl.enviroment.LightBulbTileEntity;
+import ihl.enviroment.MirrorRender;
+import ihl.enviroment.MirrorTileEntity;
+import ihl.enviroment.SpotlightModel;
+import ihl.enviroment.SpotlightRender;
+import ihl.enviroment.SpotlightTileEntity;
+import ihl.flexible_cable.BatterySwitchUnitModel;
+import ihl.flexible_cable.BatterySwitchUnitTileEntity;
+import ihl.flexible_cable.GroundingModel;
+import ihl.flexible_cable.GroundingTileEntity;
+import ihl.flexible_cable.IronWorkbenchModel;
+import ihl.flexible_cable.IronWorkbenchTileEntity;
+import ihl.flexible_cable.NodeEntity;
+import ihl.flexible_cable.NodeRender;
+import ihl.flexible_cable.RectifierTransformerUnitModel;
+import ihl.flexible_cable.RectifierTransformerUnitTileEntity;
+import ihl.i_hate_liquids.IHLEventHandler;
+import ihl.i_hate_liquids.InvisibleMagicanEntity;
+import ihl.items_blocks.IHLTool;
+import ihl.items_blocks.ItemSubstance;
+import ihl.items_blocks.MachineBaseBlock;
+import ihl.items_blocks.MachineBaseBlock.MachineType;
+import ihl.metallurgy.constants.Details;
+import ihl.model.*;
+import ihl.nei_integration.InjectionMoldRecipeHandler;
+import ihl.processing.chemistry.ElectrolysisBathModel;
+import ihl.processing.chemistry.ElectrolysisBathTileEntity;
+import ihl.processing.chemistry.FractionatorBottomModel;
+import ihl.processing.chemistry.FractionatorBottomTileEntity;
+import ihl.processing.chemistry.FractionatorCoverModel;
+import ihl.processing.chemistry.FractionatorCoverTileEntity;
+import ihl.processing.chemistry.FractionatorSectionModel;
+import ihl.processing.chemistry.FractionatorSectionTileEntity;
+import ihl.processing.chemistry.GaedesMercuryRotaryPumpModel;
+import ihl.processing.chemistry.GaedesMercuryRotaryPumpTileEntity;
+import ihl.processing.chemistry.GoldChimneyKneeModel;
+import ihl.processing.chemistry.GoldChimneyKneeRender;
+import ihl.processing.chemistry.GoldChimneyKneeTileEntity;
+import ihl.processing.chemistry.LoomModel;
+import ihl.processing.chemistry.LoomTileEntity;
+import ihl.processing.chemistry.PrecipitatorCondenserModel;
+import ihl.processing.chemistry.PrecipitatorCondenserRender;
+import ihl.processing.chemistry.PrecipitatorCondenserTileEntity;
+import ihl.processing.chemistry.RefluxCondenserModel;
+import ihl.processing.chemistry.RefluxCondenserTileEntity;
+import ihl.processing.metallurgy.CoilerModel;
+import ihl.processing.metallurgy.CoilerRender;
+import ihl.processing.metallurgy.CoilerTileEntity;
+import ihl.processing.metallurgy.DetonationSprayingMachineModel;
+import ihl.processing.metallurgy.DetonationSprayingMachineRender;
+import ihl.processing.metallurgy.DetonationSprayingMachineTileEntity;
+import ihl.processing.metallurgy.ExtruderModel;
+import ihl.processing.metallurgy.ExtruderTileEntity;
+import ihl.processing.metallurgy.GasWeldingStationModel;
+import ihl.processing.metallurgy.GasWeldingStationTileEntity;
+import ihl.processing.metallurgy.ImpregnatingMachineRender;
+import ihl.processing.metallurgy.ImpregnatingMachineTileEntity;
+import ihl.processing.metallurgy.InjectionMoldBlock;
+import ihl.processing.metallurgy.LathePart1Model;
+import ihl.processing.metallurgy.LathePart1TileEntity;
+import ihl.processing.metallurgy.LathePart2Model;
+import ihl.processing.metallurgy.LathePart2TileEntity;
+import ihl.processing.metallurgy.RollingMachinePart1Model;
+import ihl.processing.metallurgy.RollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.RollingMachinePart2Model;
+import ihl.processing.metallurgy.RollingMachinePart2TileEntity;
+import ihl.processing.metallurgy.RollingMachineRender;
+import ihl.processing.metallurgy.VulcanizationExtrudingMoldModel;
+import ihl.processing.metallurgy.VulcanizationExtrudingMoldTileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart1TileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachinePart2Model;
+import ihl.processing.metallurgy.WoodenRollingMachinePart2TileEntity;
+import ihl.processing.metallurgy.WoodenRollingMachineRender;
+import ihl.servitor.FlameEntityFX;
+import ihl.servitor.FlameRenderFX;
+import ihl.servitor.LostHeadEntity;
+import ihl.servitor.LostHeadRender;
+import ihl.servitor.SkullItemRender;
+import ihl.tunneling_shield.BlockItemRender;
+import ihl.tunneling_shield.DriverEntity;
+import ihl.tunneling_shield.DriverModel;
+import ihl.tunneling_shield.DriverRender;
+import ihl.tunneling_shield.DriverRenderEntity;
+import ihl.tunneling_shield.DriverTileEntity;
+import ihl.utils.IHLRenderUtils;
+import ihl.utils.IHLUtils;
+import ihl.utils.IHLXMLParser;
+import ihl.worldgen.ores.IHLFluid;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.particle.EntityFX;
+import net.minecraft.client.renderer.GLAllocation;
+import net.minecraft.client.renderer.entity.Render;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.MinecraftForgeClient;
+import net.minecraftforge.client.event.TextureStitchEvent;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.fluids.FluidStack;
+import cpw.mods.fml.client.registry.ClientRegistry;
+import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
+import cpw.mods.fml.client.registry.RenderingRegistry;
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.registry.EntityRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class ClientProxy extends ServerProxy {
+
+ public int fboId=-1;
+ public int renderBufferId=-1;
+ public int defaultMinecraftFBOId=1;
+ public boolean loadMirrorRender=true;
+ public IHLRenderUtils renderUtils;
+ public Map<MachineType,Integer> sharedBlockRenders = new HashMap();
+
+ public ClientProxy() {}
+
+ @Override
+ public void loadClient() throws ParserConfigurationException
+ {
+ this.renderUtils=new IHLRenderUtils();
+ for(int i=0;i<4;i++)
+ {
+ try
+ {
+ boolean isframebuffer = EXTFramebufferObject.glIsFramebufferEXT(i);
+ if(isframebuffer)
+ {
+ defaultMinecraftFBOId=i;
+ }
+ }
+ catch (Throwable e)
+ {
+ IHLMod.log.error("IHL: EXTFramebufferObject cause exception to be casted, no IHL mirror render is possible in current enviroment.");
+ loadMirrorRender=false;
+ }
+ }
+ if(loadMirrorRender && fboId==-1)
+ {
+ fboId = EXTFramebufferObject.glGenFramebuffersEXT();
+ renderBufferId = EXTFramebufferObject.glGenRenderbuffersEXT();
+ }
+ registerBlockHandler(new ImpregnatingMachineBlockRender(), MachineType.BronzeTub, MachineType.GlassBox);
+ registerBlockHandler(new RefluxCondenserBlockRender(), MachineType.RefluxCondenser);
+ registerBlockHandler(new SwitchBoxBlockRender(), MachineType.RedstoneSignalConverter);
+ RenderingRegistry.registerEntityRenderingHandler(CollectorEntity.class, new CollectorRender(false));
+ MinecraftForgeClient.registerItemRenderer(IHLMod.collectorItem, new CollectorItemRender(false));
+ RenderingRegistry.registerEntityRenderingHandler(CollectorHeavyEntity.class, new CollectorRender(true));
+ MinecraftForgeClient.registerItemRenderer(IHLMod.collectorHeavyItem, new CollectorItemRender(true));
+ RenderingRegistry.registerEntityRenderingHandler(DriverEntity.class, new DriverRenderEntity());
+ ClientRegistry.bindTileEntitySpecialRenderer(ChargerEjectorTileEntity.class, new ChargerEjectorRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(DriverTileEntity.class, new DriverRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(SackTileEntity.class, new SackRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(GlassBoxTileEntity.class, new GlassBoxRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(IronWorkbenchTileEntity.class, new UniversalTileRender(new IronWorkbenchModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/ironWorkbench.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(LathePart1TileEntity.class, new UniversalTileRender(new LathePart1Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(LathePart2TileEntity.class, new UniversalTileRender(new LathePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(LoomTileEntity.class, new UniversalTileRender(new LoomModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/detonationSprayingMachine.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(ImpregnatingMachineTileEntity.class, new ImpregnatingMachineRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(DetonationSprayingMachineTileEntity.class, new DetonationSprayingMachineRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(GoldChimneyKneeTileEntity.class, new GoldChimneyKneeRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(PrecipitatorCondenserTileEntity.class, new PrecipitatorCondenserRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(CoilerTileEntity.class, new CoilerRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(RollingMachinePart1TileEntity.class, new RollingMachineRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(RollingMachinePart2TileEntity.class, new UniversalTileRender(new RollingMachinePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(VulcanizationExtrudingMoldTileEntity.class, new UniversalTileRender(new VulcanizationExtrudingMoldModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(ExtruderTileEntity.class, new UniversalTileRender(new ExtruderModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(WoodenRollingMachinePart1TileEntity.class, new WoodenRollingMachineRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(WoodenRollingMachinePart2TileEntity.class, new UniversalTileRender(new WoodenRollingMachinePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/woodenRollingMachine.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(GasWeldingStationTileEntity.class, new UniversalTileRender(new GasWeldingStationModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/gasWeldingStation.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(GaedesMercuryRotaryPumpTileEntity.class, new UniversalTileRender(new GaedesMercuryRotaryPumpModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/extruder.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(FractionatorBottomTileEntity.class, new UniversalTileRender(new FractionatorBottomModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(FractionatorSectionTileEntity.class, new UniversalTileRender(new FractionatorSectionModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(FractionatorCoverTileEntity.class, new UniversalTileRender(new FractionatorCoverModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(RefluxCondenserTileEntity.class, new UniversalTileRender(new RefluxCondenserModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(BatterySwitchUnitTileEntity.class, new UniversalTileRender(new BatterySwitchUnitModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/batterySwitchUnit.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(GroundingTileEntity.class, new UniversalTileRender(new GroundingModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/goldChimneyKnee.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(RectifierTransformerUnitTileEntity.class, new UniversalTileRender(new RectifierTransformerUnitModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/porcelainBox.png")));
+ ClientRegistry.bindTileEntitySpecialRenderer(ElectrolysisBathTileEntity.class, new UniversalTileRender(new ElectrolysisBathModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/electrolysisBath.png")));
+ if(loadMirrorRender && IHLMod.config.mirrorReflectionRange>0)
+ {
+ ClientRegistry.bindTileEntitySpecialRenderer(MirrorTileEntity.class, new MirrorRender());
+ }
+ ClientRegistry.bindTileEntitySpecialRenderer(LightBulbTileEntity.class, new LightBulbRender());
+ ClientRegistry.bindTileEntitySpecialRenderer(SpotlightTileEntity.class, new SpotlightRender());
+ MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(IHLMod.driverBlock), new BlockItemRender(new DriverModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/shield.png"), 5, 2, 0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(IHLMod.chargerEjectorBlock), new BlockItemRender(new ChargerEjectorModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/chargerEjector.png"), 0, 6, 0.5F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(IHLMod.ironWorkbench), new BlockItemRender(new IronWorkbenchModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/ironWorkbench.png"), 0, 0, 0.0F, 0.1F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("goldPrecipitatorCondenser"), new BlockItemRender(new PrecipitatorCondenserModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/porcelainBox.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("goldChimneyKnee"), new BlockItemRender(new GoldChimneyKneeModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/porcelainBox.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("cannonBronze"), new BlockItemRender(new DetonationSprayingMachineModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/detonationSprayingMachine.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("lathePart1"), new BlockItemRender(new LathePart1Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("lathePart2"), new BlockItemRender(new LathePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("rollingMachinePart1"), new BlockItemRender(new RollingMachinePart1Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png"), 0, 5, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("rollingMachinePart2"), new BlockItemRender(new RollingMachinePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("coiler"), new BlockItemRender(new CoilerModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png"), 0, 6, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("loom"), new BlockItemRender(new LoomModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/detonationSprayingMachine.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("vulcanizationExtrudingMold"), new BlockItemRender(new VulcanizationExtrudingMoldModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("extruder"), new BlockItemRender(new ExtruderModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("woodenRollingMachinePart1"), new BlockItemRender(new WoodenRollingMachinePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/woodenRollingMachine.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("woodenRollingMachinePart2"), new BlockItemRender(new WoodenRollingMachinePart2Model(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/woodenRollingMachine.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("gasWeldingStation"), new BlockItemRender(new GasWeldingStationModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/gasWeldingStation.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("gaedesMercuryRotaryPump"), new BlockItemRender(new GaedesMercuryRotaryPumpModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/extruder.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLMod.ihlSkull, new SkullItemRender());
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("fractionatorBottom"), new BlockItemRender(new FractionatorBottomModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("fractionatorSection"), new BlockItemRender(new FractionatorSectionModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("fractionatorCover"), new BlockItemRender(new FractionatorCoverModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("refluxCondenser"), new BlockItemRender(new RefluxCondenserModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/splitInjectionMold.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("batterySwitchUnit"), new BlockItemRender(new BatterySwitchUnitModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/batterySwitchUnit.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("grounding"), new BlockItemRender(new GroundingModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/goldChimneyKnee.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("rectifierTransformerUnit"), new BlockItemRender(new RectifierTransformerUnitModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/porcelainBox.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("electrolysisBath"), new BlockItemRender(new ElectrolysisBathModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/electrolysisBath.png"), 0, 0, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("lightBulb"), new BlockItemRender(new LightBulbModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/lightBulb.png"), 0, 1, 0.0F, 0.0F, true));
+ MinecraftForgeClient.registerItemRenderer(IHLUtils.getThisModItem("spotlight"), new BlockItemRender(new SpotlightModel(), new ResourceLocation(IHLModInfo.MODID+":textures/blocks/spotlight.png"), 0, 1, 0.0F, 0.0F));
+ MinecraftForgeClient.registerItemRenderer(IHLTool.instance, new IHLToolRenderer());
+ RenderingRegistry.registerEntityRenderingHandler(LostHeadEntity.class, new LostHeadRender());
+ RenderingRegistry.registerEntityRenderingHandler(FlameEntityFX.class, new FlameRenderFX());
+ RenderingRegistry.registerEntityRenderingHandler(BlobEntityFX.class, new BlobRenderFX());
+ RenderingRegistry.registerEntityRenderingHandler(NodeEntity.class, new NodeRender());
+ MinecraftForge.EVENT_BUS.register(new RenderGameOverlayEventHandler());
+
+ }
+
+ public void spawnParticle(int particle, World world, double x, double y, double z, double mx, double my, double mz, float var)
+ {
+ switch(particle)
+ {
+ case 0:
+ FlameEntityFX flamePEFX1 = new FlameEntityFX(world,x,y,z,mx,my,mz,var);
+ world.spawnEntityInWorld(flamePEFX1);
+ break;
+ case 1:
+ BlobEntityFX blob = new BlobEntityFX(world,x,y,z,mx,my,mz,var, FluidType.RESIN);
+ world.spawnEntityInWorld(blob);
+ break;
+ case 2:
+ BlobEntityFX blob2 = new BlobEntityFX(world,x,y,z,mx,my,mz,var, FluidType.SAP);
+ world.spawnEntityInWorld(blob2);
+ break;
+ default:
+ FlameEntityFX flamePEFX2 = new FlameEntityFX(world,x,y,z,mx,my,mz,var);
+ world.spawnEntityInWorld(flamePEFX2);
+ break;
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ @SubscribeEvent
+ public void registerIcons(TextureStitchEvent.Pre event)
+ {
+ if (event.map.getTextureType() == 0)
+ {
+ IHLFluid.registerIcons();
+ }
+ }
+
+ @Override
+ public int getFBOID() {return fboId;}
+
+ @Override
+ public int getRenderBufferID() {return renderBufferId;}
+
+ @Override
+ public int getDefaultMinecraftFBOID() {return defaultMinecraftFBOId;}
+
+ @Override
+ public Render getRenderForEntityClass(Class<? extends Entity> entityClass)
+ {
+ return (Render) RenderManager.instance.entityRenderMap.get(entityClass);
+ }
+
+ @Override
+ public void checkFramebuffer(int fboId)
+ {
+ int framebuffer = EXTFramebufferObject.glCheckFramebufferStatusEXT( EXTFramebufferObject.GL_FRAMEBUFFER_EXT );
+ switch ( framebuffer ) {
+ case EXTFramebufferObject.GL_FRAMEBUFFER_COMPLETE_EXT:
+ //IHLMod.log.info("EXTFramebufferObject wiwh number "+fboId+" return GL_FRAMEBUFFER_COMPLETE_EXT. Everything is seems fine.");
+ break;
+ case EXTFramebufferObject.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT:
+ throw new RuntimeException( "FrameBuffer: " + fboId
+ + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT exception" );
+ case EXTFramebufferObject.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT:
+ throw new RuntimeException( "FrameBuffer: " + fboId
+ + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT exception" );
+ case EXTFramebufferObject.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT:
+ throw new RuntimeException( "FrameBuffer: " + fboId
+ + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT exception" );
+ case EXTFramebufferObject.GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT:
+ throw new RuntimeException( "FrameBuffer: " + fboId
+ + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT exception" );
+ case EXTFramebufferObject.GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT:
+ throw new RuntimeException( "FrameBuffer: " + fboId
+ + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT exception" );
+ case EXTFramebufferObject.GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT:
+ throw new RuntimeException( "FrameBuffer: " + fboId
+ + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT exception" );
+ default:
+ throw new RuntimeException( "Unexpected reply from glCheckFramebufferStatusEXT: " + framebuffer );
+ }
+ }
+
+ @Override
+ public void initBlockRenderer()
+ {
+ new IHLBlockRenderer();
+ }
+
+ @Override
+ public int getGLDisplayList()
+ {
+ return GLAllocation.generateDisplayLists(1);
+ }
+
+ @Override
+ public void deleteFramebuffers()
+ {
+ if(fboId!=-1)
+ {
+ EXTFramebufferObject.glDeleteFramebuffersEXT(fboId);
+ }
+ if(renderBufferId!=-1)
+ {
+ EXTFramebufferObject.glDeleteRenderbuffersEXT(renderBufferId);
+ }
+ }
+
+ @Override
+ public File getMinecraftDir()
+ {
+ return Minecraft.getMinecraft().mcDataDir;
+ }
+
+ @Override
+ public int shareBlockRendererByMachineType(MachineType type)
+ {
+ return sharedBlockRenders.get(type);
+ }
+
+ public void registerBlockHandler(ISimpleBlockRenderingHandler handler, MachineType... types)
+ {
+ RenderingRegistry.registerBlockHandler(handler);
+ for(MachineType type:types)
+ {
+ sharedBlockRenders.put(type, handler.getRenderId());
+ }
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/5015a2ff41b60015176c95ddaf2504ce b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/5015a2ff41b60015176c95ddaf2504ce
new file mode 100644
index 0000000..a96ee72
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/5015a2ff41b60015176c95ddaf2504ce
@@ -0,0 +1,573 @@
+package ihl.flexible_cable;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
+import cpw.mods.fml.common.network.internal.FMLProxyPacket;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.interfaces.ICableHolder;
+import ihl.interfaces.IDataCableHolder;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.INetworkListener;
+import ihl.utils.IHLUtils;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.ByteBufInputStream;
+import io.netty.buffer.ByteBufOutputStream;
+import io.netty.buffer.Unpooled;
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldServer;
+
+public class NodeEntity extends Entity implements INetworkListener{
+
+ public Entity prevAnchorEntity;
+ public Entity nextAnchorEntity;
+ private int anchorX;
+ private int anchorY;
+ private int anchorZ;
+ private short anchorFacing;
+ private int anchorDimensionId;
+ public ItemStack attachedItem;
+ protected int chainUniqueID=-2;
+ public int chainArrangeNumber=-2;
+ protected int checkTimer=201;
+ public int colorIndex=16777215;
+ public int type=1;//0 - uninsulated wire; 1 - insulated cable; 2 - data cable
+ public float dx0=0;
+ public float dy0=0;
+ public float dz0=0;
+ public final int n=64;
+ public final float[] rotationPitchArray = new float[n+1];
+ public final float[] rotationYawArray = new float[n+1];
+ public final float[] translationX = new float[n+1];
+ public final float[] translationY = new float[n+1];
+ public final float[] translationZ = new float[n+1];
+ public float virtualNodePosX;
+ public float virtualNodePosY;
+ public float virtualNodePosZ;
+ public float renderPosX;
+ public float renderPosY;
+ public float renderPosZ;
+
+ public NodeEntity(World world)
+ {
+ super(world);
+ if(world.isRemote)
+ {
+ IHLMod.proxy.addEntityToList(this);
+ this.setSize(2f, 0.2f);
+ }
+ else
+ {
+ IHLMod.proxy.addEntityToServerList(this);
+ this.setSize(0.5F, 0.1F);
+ }
+ this.renderDistanceWeight = 5.0D;
+ this.yOffset+=0.15F;
+ this.virtualNodePosX=(float) this.posX;
+ this.virtualNodePosY=(float) this.posY;
+ this.virtualNodePosZ=(float) this.posZ;
+ }
+
+ @Override
+ public void setInPortal(){}
+
+ @Override
+ public void travelToDimension(int dimensionId){}
+
+ public void setSize(float width, float heigth)
+ {
+ super.setSize(width, heigth);
+ }
+
+ public void setVirtualNodePos(float posX,float posY, float posZ)
+ {
+ virtualNodePosX=posX;
+ virtualNodePosY=posY;
+ virtualNodePosZ=posZ;
+ this.registerAndSendData(null);
+ }
+
+ public void registerAndSendData(EntityPlayerMP player)
+ {
+ if(!worldObj.isRemote)
+ {
+ Set<NodeEntity> nes;
+ if(IHLMod.proxy.nodeEntityRegistry.containsKey(this.getChainUniqueID()))
+ {
+ nes=IHLMod.proxy.nodeEntityRegistry.get(this.getChainUniqueID());
+ }
+ else
+ {
+ nes=new HashSet();
+ IHLMod.proxy.nodeEntityRegistry.put(this.getChainUniqueID(),nes);
+ }
+ nes.add(this);
+ ByteBuf bb = Unpooled.buffer(30);
+ ByteBufOutputStream byteBufOutputStream = new ByteBufOutputStream(bb);
+ try
+ {
+ byteBufOutputStream.write(1);
+ byteBufOutputStream.writeInt(this.getEntityId());
+ byteBufOutputStream.writeInt(this.getChainUniqueID());
+ byteBufOutputStream.writeInt(this.chainArrangeNumber);
+ byteBufOutputStream.writeByte(this.type);
+ byteBufOutputStream.writeInt(this.colorIndex);
+ byteBufOutputStream.writeFloat(this.virtualNodePosX);
+ byteBufOutputStream.writeFloat(this.virtualNodePosY);
+ byteBufOutputStream.writeFloat(this.virtualNodePosZ);
+ if(player==null)
+ {
+ IHLMod.proxy.sendFromServerToAll(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID));
+ }
+ else
+ {
+ IHLMod.proxy.sendFromServerToPlayer(new FMLProxyPacket(byteBufOutputStream.buffer(), IHLModInfo.MODID),player);
+ }
+ byteBufOutputStream.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void onUpdate()
+ {
+ super.onUpdate();
+ if(!noClip && !worldObj.isRemote)
+ {
+ this.moveEntity(this.motionX, this.motionY, this.motionZ);
+ }
+ if(this.checkTimer==201)
+ {
+ if(worldObj.isRemote)
+ {
+ IHLMod.proxy.recieveDelayedDataPacket(this);
+ }
+ else
+ {
+ this.registerAndSendData(null);
+ }
+ }
+ if((prevAnchorEntity==null && !noClip)||(nextAnchorEntity==null || nextAnchorEntity instanceof EntityPlayer || nextAnchorEntity instanceof EntityItem))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<NodeEntity> eItemsList = this.worldObj.getEntitiesWithinAABB(NodeEntity.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ NodeEntity node=(NodeEntity) ei.next();
+ if(node.getChainUniqueID()==this.getChainUniqueID())
+ {
+ if(node.chainArrangeNumber==this.chainArrangeNumber-1)
+ {
+ this.prevAnchorEntity=node;
+ node.nextAnchorEntity=this;
+ }
+ else if(node.chainArrangeNumber==this.chainArrangeNumber+1)
+ {
+ this.nextAnchorEntity=node;
+ node.prevAnchorEntity=this;
+ }
+ }
+ if(prevAnchorEntity!=null && nextAnchorEntity!=null)
+ {
+ break;
+ }
+ }
+ }
+ }
+ if(this.attachedItem!=null && (this.nextAnchorEntity == null || this.nextAnchorEntity.isDead) && !this.noClip)
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityPlayer> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityPlayer player=(EntityPlayer) ei.next();
+ if(this.playerHasItemStack(player))
+ {
+ this.nextAnchorEntity=player;
+ }
+
+ }
+ }
+ }
+ if(this.attachedItem!=null && this.nextAnchorEntity instanceof EntityPlayer && !noClip)
+ {
+ EntityPlayer player = (EntityPlayer) this.nextAnchorEntity;
+ if(!this.playerHasItemStack(player))
+ {
+ double range = 16D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.posX-range,this.posY-range,this.posZ-range,this.posX+range,this.posY+range,this.posZ+range);
+ List<EntityItem> eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea);
+ if(!eItemsList.isEmpty())
+ {
+ Iterator<EntityItem> ei = eItemsList.iterator();
+ while(ei.hasNext())
+ {
+ EntityItem eitem = ei.next();
+ if(eitem.getEntityItem().isItemEqual(this.attachedItem))
+ {
+ this.nextAnchorEntity=eitem;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if(!worldObj.isRemote)
+ {
+ {
+ double x0,x2,y0,y2,z0,z2;
+ x2=x0=this.virtualNodePosX;
+ y2=y0=this.virtualNodePosY;
+ z2=z0=this.virtualNodePosZ;
+ if(nextAnchorEntity!=null)
+ {
+ x2=nextAnchorEntity.posX;
+ y2=nextAnchorEntity.posY;
+ z2=nextAnchorEntity.posZ;
+ }
+ if(prevAnchorEntity!=null)
+ {
+ x0=prevAnchorEntity.posX;
+ y0=prevAnchorEntity.posY;
+ z0=prevAnchorEntity.posZ;
+ }
+
+ double d1 = (x0-x2)*(x0-x2)+(y0-y2)*(y0-y2)+(z0-z2)*(z0-z2);
+ if(d1>4D)
+ {
+ this.motionX=(x0+x2)*0.5D-this.posX*1D;
+ this.motionY=(y0+y2)*0.5D-this.posY*1D;
+ this.motionZ=(z0+z2)*0.5D-this.posZ*1D;
+ if(nextAnchorEntity!=null && this.getDistanceSqToEntity(nextAnchorEntity)>4D)
+ {
+ this.nextAnchorEntity.addVelocity((this.posX-this.nextAnchorEntity.posX)*0.01D, (this.posY-this.nextAnchorEntity.posY)*0.01D, (this.posZ-this.nextAnchorEntity.posZ)*0.01D);
+ }
+ }
+ else
+ {
+ double d2 = this.getDistanceSq(x2,y2,z2);
+ if(d2>1D)
+ {
+ this.motionX+=(x2-this.posX)*0.1D;
+ this.motionY+=(y2-this.posY)*0.1D;
+ this.motionZ+=(z2-this.posZ)*0.1D;
+ }
+ double d3 = this.getDistanceSq(x0,y0,z0);
+ if(d3>1D)
+ {
+ this.motionX+=(x0-this.posX)*0.1D;
+ this.motionY+=(y0-this.posY)*0.1D;
+ this.motionZ+=(z0-this.posZ)*0.1D;
+ }
+ }
+ this.motionY-=0.005D;
+ }
+ }
+ if(this.onGround)
+ {
+ this.motionY *= -0.5D;
+ }
+ this.motionX*=0.9D;
+ this.motionY*=0.9D;
+ this.motionZ*=0.9D;
+ if(worldObj.isRemote)
+ {
+ float movvmentSpeed=0.05f;
+ this.renderPosX=this.renderPosX*(1f-movvmentSpeed)+(float) this.prevPosX*movvmentSpeed;
+ this.renderPosY=this.renderPosY*(1f-movvmentSpeed)+(float) this.prevPosY*movvmentSpeed;
+ this.renderPosZ=this.renderPosZ*(1f-movvmentSpeed)+(float) this.prevPosZ*movvmentSpeed;
+ float xi,yi,zi;
+ float x0=xi=(float)this.prevPosX;
+ float y0=yi=(float)this.prevPosY;
+ float z0=zi=(float)this.prevPosZ;
+ float dx0=this.dx0;
+ float dy0=this.dy0;
+ float dz0=this.dz0;
+ float dx1=this.virtualNodePosX-xi;
+ float dy1=this.virtualNodePosY-yi;
+ float dz1=this.virtualNodePosZ-zi;
+ if(this.nextAnchorEntity!=null)
+ {
+ dx1=(float) (this.nextAnchorEntity.prevPosX-xi);
+ dy1=(float) (this.nextAnchorEntity.prevPosY-yi);
+ dz1=(float) (this.nextAnchorEntity.prevPosZ-zi);
+ }
+ if(this.prevAnchorEntity==null)
+ {
+ this.renderPosX=x0=xi=this.virtualNodePosX;
+ this.renderPosY=y0=yi=this.virtualNodePosY;
+ this.renderPosZ=z0=zi=this.virtualNodePosZ;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ if(((NodeEntity)this.nextAnchorEntity).nextAnchorEntity!=null)
+ {
+ Entity nne = ((NodeEntity)this.nextAnchorEntity).nextAnchorEntity;
+ dx1=(float) (nne.prevPosX-xi);
+ dy1=(float) (nne.prevPosY-yi);
+ dz1=(float) (nne.prevPosZ-zi);
+ }
+ else
+ {
+ dx1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosX-xi);
+ dy1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosY-yi);
+ dz1=(float) (((NodeEntity) this.nextAnchorEntity).virtualNodePosZ-zi);
+ }
+ }
+ float x1=this.virtualNodePosX;
+ float y1=this.virtualNodePosY;
+ float z1=this.virtualNodePosZ;
+ if(this.nextAnchorEntity!=null)
+ {
+ x1=(float)this.nextAnchorEntity.prevPosX;
+ y1=(float)this.nextAnchorEntity.prevPosY;
+ z1=(float)this.nextAnchorEntity.prevPosZ;
+ }
+ int i1=0;
+ for(float i=1f/n;i<=1f+1f/n;i+=1f/n,i1++)
+ {
+ float dxi = xi;
+ float dyi = yi;
+ float dzi = zi;
+ xi=(dx1-2*x1+2*dx0+2*x0-dx0)*i*i*i+(3*x1-dx1-3*dx0-3*x0+dx0)*i*i+dx0*i+x0;
+ yi=(dy1-2*y1+2*dy0+2*y0-dy0)*i*i*i+(3*y1-dy1-3*dy0-3*y0+dy0)*i*i+dy0*i+y0;
+ zi=(dz1-2*z1+2*dz0+2*z0-dz0)*i*i*i+(3*z1-dz1-3*dz0-3*z0+dz0)*i*i+dz0*i+z0;
+ int blockX=(int)xi;
+ int blockY=(int)yi;
+ int blockZ=(int)zi;
+ dxi-=xi;
+ dyi-=yi;
+ dzi-=zi;
+ double var7 = MathHelper.sqrt_double(dxi * dxi + dzi * dzi);
+ float var9 = (float)(Math.atan2(dzi, dxi) * 180.0D / Math.PI) - 90.0F;
+ float var10 = (float)(-(Math.atan2(dyi, var7) * 180.0D / Math.PI));
+ float rotationPitch = (float) Math.atan2(dxi, dzi);
+ float rotationYaw = (float) (-Math.atan2(dyi, var7));
+ rotationPitchArray[i1]=rotationPitch;
+ rotationYawArray[i1]=rotationYaw;
+ translationX[i1]=dxi;
+ translationY[i1]=dyi;
+ translationZ[i1]=dzi;
+ }
+ if(this.nextAnchorEntity instanceof NodeEntity)
+ {
+ NodeEntity next = (NodeEntity) this.nextAnchorEntity;
+ next.dx0=dx1;
+ next.dy0=dy1;
+ next.dz0=dz1;
+ }
+ }
+ if(--this.checkTimer<=0)
+ {
+ if(!worldObj.isRemote)
+ {
+ WorldServer world = MinecraftServer.getServer().worldServerForDimension(this.anchorDimensionId);
+ TileEntity te = world.getTileEntity(this.anchorX, this.anchorY, this.anchorZ);
+ if(te==null || !(te instanceof ICableHolder || te instanceof AnchorTileEntity))
+ {
+ this.setDead();
+ }
+ }
+ this.checkTimer=200;
+ }
+ }
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound nbt)
+ {
+ this.noClip=nbt.getBoolean("noClip");
+ this.setChainUniqueID(nbt.getInteger("chainUniqueID"));
+ this.chainArrangeNumber=nbt.getInteger("chainArrangeNumber");
+ this.anchorX=nbt.getInteger("anchorX");
+ this.anchorY=nbt.getInteger("anchorY");
+ this.anchorZ=nbt.getInteger("anchorZ");
+ this.anchorFacing=nbt.getShort("anchorFacing");
+ this.anchorDimensionId=nbt.getInteger("anchorDimensionId");
+ this.type=nbt.getInteger("type");
+ this.colorIndex=nbt.getInteger("colorIndex");
+ if(nbt.hasKey("itemStack"))
+ {
+ NBTTagCompound stackTag = (NBTTagCompound) nbt.getTag("itemStack");
+ this.attachedItem = ItemStack.loadItemStackFromNBT(stackTag);
+ }
+ if(nbt.hasKey("width"))
+ {
+ this.setSize(nbt.getFloat("width"), nbt.getFloat("height"));
+ }
+ this.virtualNodePosX=nbt.getFloat("virtualNodePosX");
+ this.virtualNodePosY=nbt.getFloat("virtualNodePosY");
+ this.virtualNodePosZ=nbt.getFloat("virtualNodePosZ");
+ }
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound nbt)
+ {
+ nbt.setFloat("width", this.width);
+ nbt.setFloat("height", this.height);
+ nbt.setBoolean("noClip", noClip);
+ nbt.setInteger("chainUniqueID", this.getChainUniqueID());
+ nbt.setInteger("chainArrangeNumber", this.chainArrangeNumber);
+ nbt.setInteger("anchorX", this.anchorX);
+ nbt.setInteger("anchorY", this.anchorY);
+ nbt.setInteger("anchorZ", this.anchorZ);
+ nbt.setShort("anchorFacing",this.anchorFacing);
+ nbt.setInteger("anchorDimensionId",this.anchorDimensionId);
+ nbt.setInteger("type", this.type);
+ nbt.setInteger("colorIndex", this.colorIndex);
+ if(this.attachedItem!=null)
+ {
+ NBTTagCompound stackTag = new NBTTagCompound();
+ this.attachedItem.writeToNBT(stackTag);
+ nbt.setTag("itemStack",stackTag);
+ }
+ nbt.setFloat("virtualNodePosX",this.virtualNodePosX);
+ nbt.setFloat("virtualNodePosY",this.virtualNodePosY);
+ nbt.setFloat("virtualNodePosZ",this.virtualNodePosZ);
+ }
+
+ public void setAnchor(int x, int y, int z, short facing, int dimensionId)
+ {
+ this.anchorX=x;
+ this.anchorY=y;
+ this.anchorZ=z;
+ this.anchorFacing=facing;
+ this.anchorDimensionId=dimensionId;
+ }
+
+ public boolean playerHasItemStack(EntityPlayer player)
+ {
+ int var2;
+
+ for (var2 = 0; var2 < player.inventory.armorInventory.length; ++var2)
+ {
+ if (player.inventory.armorInventory[var2] != null && player.inventory.armorInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.armorInventory[var2].stackTagCompound==null?false:player.inventory.armorInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ for (var2 = 0; var2 < player.inventory.mainInventory.length; ++var2)
+ {
+ if (player.inventory.mainInventory[var2] != null && player.inventory.mainInventory[var2].isItemEqual(this.attachedItem))
+ {
+ return player.inventory.mainInventory[var2].stackTagCompound==null?false:player.inventory.mainInventory[var2].stackTagCompound.getInteger("chainUID")==this.attachedItem.stackTagCompound.getInteger("chainUID");
+ }
+ }
+
+ return false;
+ }
+
+ public int getChainUniqueID() {
+ return chainUniqueID;
+ }
+
+ public void setChainUniqueID(int chainUniqueID) {
+ this.chainUniqueID = chainUniqueID;
+ }
+
+ @Override
+ public AxisAlignedBB getCollisionBox(Entity entity)
+ {
+ if(this.noClip)
+ {
+ return null;
+ }
+ else
+ {
+ return super.getCollisionBox(entity);
+ }
+ }
+
+ @Override
+ public int getId()
+ {
+ return this.getEntityId();
+ }
+
+ @Override
+ public void recieveData(ByteBufInputStream byteBufInputStream)
+ {
+ try
+ {
+ this.setChainUniqueID(byteBufInputStream.readInt());
+ this.chainArrangeNumber=byteBufInputStream.readInt();
+ this.type=byteBufInputStream.readByte();
+ this.colorIndex=byteBufInputStream.readInt();
+ this.virtualNodePosX=byteBufInputStream.readFloat();
+ this.virtualNodePosY=byteBufInputStream.readFloat();
+ this.virtualNodePosZ=byteBufInputStream.readFloat();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ public boolean isInvalid()
+ {
+ return this.isDead;
+ }
+
+ public void setVirtualNodePosToNearestPortal()
+ {
+ int x0 = (int)this.posX;
+ int y0 = (int)this.posY;
+ int z0 = (int)this.posZ;
+ for(int xi=x0-2;xi<=x0+2;xi++)
+ {
+ for(int yi=y0-2;yi<=y0+2;yi++)
+ {
+ for(int zi=z0-2;zi<=z0+2;zi++)
+ {
+ Block block = worldObj.getBlock(xi, yi, zi);
+ if(block==Blocks.portal||block==Blocks.end_portal)
+ {
+ this.setVirtualNodePos(xi+0.5f, yi+0.5f, zi+0.5f);
+ return;
+ }
+ }
+ }
+ }
+
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d7200b148e00151544f45b8684d31e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d7200b148e00151544f45b8684d31e
new file mode 100644
index 0000000..7193215
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d7200b148e00151544f45b8684d31e
@@ -0,0 +1,376 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.init.Blocks;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.ChunkCache;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
+
+public class EntityIHLExplosion extends Entity {
+ private Explosion explosion;
+ private boolean explosionDone=false;
+ private Set<Long> sv;
+ public Set<Long> effectBorderBlocks;
+ public Set<Long> effectBorderBlocksWithLowPosition;
+ public Set<Long> blocksConnectedWithBedrock;
+ public Set<Long> blocksNotConnectedWithBedrock;
+ public Map<Long,Integer> drops;
+ public int explosionPower;
+ public int x;
+ public int y;
+ public int z;
+ private Chunk[][] chunkArray;
+ private ExtendedBlockStorage[][][] esbArray;
+ private int[][][] esbHardness;
+ private boolean[][][] entityCached;
+ private Map<Long,Entity> entityCache = new HashMap();
+ public int multiplier;
+ private int chunkX;
+ private int chunkZ;
+ public DamageSource damageSource;
+
+ public EntityIHLExplosion(World world,int x1,int y1,int z1, int explosionPower1) {
+ super(world);
+ this.effectBorderBlocks=new HashSet();
+ this.effectBorderBlocksWithLowPosition=new HashSet();
+ this.blocksConnectedWithBedrock=new HashSet();
+ this.blocksNotConnectedWithBedrock=new HashSet();
+ this.drops=new HashMap();
+ this.isImmuneToFire=true;
+ this.noClip=true;
+ this.setSize(0F, 0F);
+ this.x=x1;
+ this.y=y1;
+ this.z=z1;
+ this.setPosition(x+0.5d, y+0.5d, z+0.5d);
+ this.explosionPower = explosionPower1;
+ this.multiplier = Math.min(4,Math.max(this.explosionPower/16000,1));
+ int areaSize = 32*multiplier;
+ this.explosion=new Explosion(world, this, this.posX, this.posY, this.posZ, 4.0f);
+ chunkX = x-areaSize >> 4;
+ chunkZ = z-areaSize >> 4;
+ int var9 = x+areaSize >> 4;
+ int var10 = z+areaSize >> 4;
+ this.chunkArray = new Chunk[var9 - this.chunkX + 1][var10 - this.chunkZ + 1];
+ this.esbArray = new ExtendedBlockStorage[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ this.entityCached = new boolean[var9 - this.chunkX + 1][var10 - this.chunkZ + 1][16];
+ int var11;
+ int var12;
+ Chunk var13;
+ for (var11 = chunkX; var11 <= var9; ++var11)
+ {
+ for (var12 = chunkZ; var12 <= var10; ++var12)
+ {
+ var13 =this.worldObj.getChunkFromChunkCoords(var11, var12);
+
+ if (var13 != null)
+ {
+ this.chunkArray[var11 - this.chunkX][var12 - this.chunkZ] = var13;
+ this.esbArray[var11 - this.chunkX][var12 - this.chunkZ] = var13.getBlockStorageArray();
+ for(int eay=0;eay<this.entityCached[var11 - this.chunkX][var12 - this.chunkZ].length;eay++)
+ {
+ this.entityCached[var11 - this.chunkX][var12 - this.chunkZ][eay] = false;
+ }
+ }
+ }
+ }
+ this.precalculateESBHardness();
+ damageSource = DamageSource.setExplosionSource(this.explosion);
+ }
+
+ private void precalculateESBHardness()
+ {
+ for(int x1=0;x1<this.esbArray.length;x1++)
+ {
+ ExtendedBlockStorage[][] esb3 = this.esbArray[x1];
+ for(int z2=0;z2<esb3.length;z2++)
+ {
+ ExtendedBlockStorage[] esb2 = esb3[z2];
+ for(int y3=0;y3<esb2.length;y3++)
+ {
+ ExtendedBlockStorage esb = esb2[y3];
+ if(esb.isEmpty())
+ {
+ this.esbHardness[x1][z2][y3]=0;
+ }
+ else
+ {
+ byte[] lbsArray = esb.getBlockLSBArray();
+ for(int i4=0;i4<lbsArray.length;i4++)
+ {
+ int var4 = lbsArray[i4] & 255;
+
+ if (esb.getBlockMSBArray() != null)
+ {
+ var4 |= esb.getBlockMSBArray().get(i4>>8, (i4>>4) & 4095, i4 & 4095) << 8;
+ }
+ this.esbHardness[x1][z2][y3]+=Math.round(Block.getBlockById(var4).getExplosionResistance(this, worldObj, (i4>>8)+(x1<<4), ((i4>>4) & 4095)+(y3<<4), (i4 & 4095)+(z2<<4), this.x, this.y, this.z)*10f);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void onUpdate()
+ {
+ if(!effectBorderBlocks.isEmpty())
+ {
+ boolean hasSomeBlocksStickedToAir=false;
+ Iterator<Long> ebbi = effectBorderBlocks.iterator();
+ while(ebbi.hasNext())
+ {
+ long longNumber = ebbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(block!=Blocks.air && !block.isAir(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]))
+ {
+ if(block.getMaterial().isLiquid())
+ {
+ block.onNeighborBlockChange(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], block);
+ }
+ else if(!this.isBlockConnectedWithBedrock(longNumber))
+ {
+ hasSomeBlocksStickedToAir=true;
+ }
+ }
+ }
+ Iterator<Long> bnctbi = this.blocksNotConnectedWithBedrock.iterator();
+ while(bnctbi.hasNext())
+ {
+ long longNumber5 = bnctbi.next();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber5);
+ Block block = worldObj.getBlock(x+xyz[0], y+xyz[1], z+xyz[2]);
+ float bh = block.getBlockHardness(worldObj, x+xyz[0], y+xyz[1], z+xyz[2]);
+ if(bh>=0f && bh<Float.MAX_VALUE)
+ {
+ block.onBlockDestroyedByExplosion(worldObj, x+xyz[0], y+xyz[1], z+xyz[2], explosion);
+ this.setBlockToAir(x, y, z);
+ }
+ }
+
+ }
+ while(!this.explosionDone)
+ {
+ update();
+ }
+ }
+
+ private boolean isBlockConnectedWithBedrock(long longNumber)
+ {
+ if(this.blocksNotConnectedWithBedrock.contains(longNumber))
+ {
+ return false;
+ }
+ Set<Long> path = new HashSet();
+ Iterator<Long> pathi = path.iterator();
+ Set<Long> deadlockBlocks = new HashSet();
+ int[] xyz = IHLUtils.decodeXYZ(longNumber);
+ int absX=x+xyz[0];
+ int absY=y+xyz[1];
+ int absZ=z+xyz[2];
+ path.add(longNumber);
+ while(absY>4)
+ {
+ int xyzi[] = {0,0,-1,0,0,1,0,0};
+ Block block;
+ int x2,y2,z2;
+ boolean deadlock = true;
+ for(int i=0;i<=5;i++)
+ {
+ x2=absX+xyzi[i];
+ y2=absY+xyzi[i+2];
+ z2=absZ+xyzi[i+1];
+ long longNumber2 = IHLUtils.encodeXYZ(x2-x, y2-y, z2-z);
+ if(this.blocksConnectedWithBedrock.contains(longNumber2))
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ if(!path.contains(longNumber2))
+ {
+ block = worldObj.getBlock(x2,y2,z2);
+ if(block!=Blocks.air && !block.isAir(worldObj, x2,y2,z2) && !block.getMaterial().isLiquid())
+ {
+ absX=x2;
+ absY=y2;
+ absZ=z2;
+ path.add(longNumber2);
+ if(absY<=4)
+ {
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+ deadlock = false;
+ break;
+ }
+ }
+ }
+ if(deadlock)
+ {
+ long longNumber3 = IHLUtils.encodeXYZ(absX-x, absY-y, absZ-z);
+ deadlockBlocks.add(longNumber3);
+ boolean deadEnd=true;
+ while(pathi.hasNext())
+ {
+ long longNumber4 = pathi.next();
+ if(!deadlockBlocks.contains(longNumber4))
+ {
+ int[] xyz2 = IHLUtils.decodeXYZ(longNumber4);
+ absX=x+xyz2[0];
+ absY=y+xyz2[1];
+ absZ=z+xyz2[2];
+ deadEnd=false;
+ break;
+ }
+ }
+ if(deadEnd)
+ {
+ this.blocksNotConnectedWithBedrock.addAll(path);
+ return false;
+ }
+ }
+ }
+ this.blocksConnectedWithBedrock.addAll(path);
+ return true;
+ }
+
+ public void update()
+ {
+ Set<Long> sv2=new HashSet();
+ if(sv==null)
+ {
+ sv = IHLMod.explosionHandler.startVectors;
+ IHLMod.explosionHandler.setPower(explosionPower);
+ System.out.println("Start");
+ }
+ for(long ev:sv)
+ {
+ Set<Long> sv3 = IHLMod.explosionHandler.breakBlocksAndGetDescendants(this.worldObj, this, this.explosion, ev);
+ if(sv3!=null)
+ {
+ sv2.addAll(sv3);
+ }
+ }
+ if(sv2.isEmpty())
+ {
+ explosionDone=true;
+ System.out.println("End");
+ }
+ else
+ {
+ sv=sv2;
+ }
+ }
+
+ @Override
+ protected void entityInit() {}
+
+ @Override
+ protected void readEntityFromNBT(NBTTagCompound arg0) {}
+
+ @Override
+ protected void writeEntityToNBT(NBTTagCompound arg0) {}
+
+ public Block getBlock(int x1, int y1, int z1)
+ {
+ Block var4 = Blocks.air;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var4 = var7.getBlock(x1 & 15, y1, z1 & 15);
+ }
+ }
+ }
+ return var4;
+ }
+
+ public void setBlockToAir(int x1, int y1, int z1)
+ {
+ if (y1 >= 0 && y1 < 256)
+ {
+ int var5 = (x1 >> 4) - this.chunkX;
+ int var6 = (z1 >> 4) - this.chunkZ;
+ if (var5 >= 0 && var5 < this.chunkArray.length && var6 >= 0 && var6 < this.chunkArray[var5].length)
+ {
+ Chunk var7 = this.chunkArray[var5][var6];
+ if (var7 != null)
+ {
+ var7.func_150807_a(x1 & 15, y1, z1 & 15, Blocks.air, 0);
+ this.worldObj.markBlockForUpdate(x1, y1, z1);
+ }
+ }
+ }
+ }
+
+ public Entity getEntity(int x1, int y1, int z1)
+ {
+ int x2 = x1-x;
+ int y2 = y1-y;
+ int z2 = z1-z;
+ if (y1 >= 0 && y1 < 256)
+ {
+ int cax = (x1 >> 4) - this.chunkX;
+ int caz = (z1 >> 4) - this.chunkZ;
+ int eay = (y1 >> 4);
+ if (cax >= 0 && cax < this.entityCached.length && caz >= 0 && caz < this.entityCached[cax].length && eay<=16)
+ {
+ if(this.entityCached[cax][caz][eay])
+ {
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ else
+ {
+ Chunk var7 = this.chunkArray[cax][caz];
+ if (var7 != null)
+ {
+ for(Object entityo:var7.entityLists[eay])
+ {
+ Entity entity=(Entity) entityo;
+ int x3 = (int)entity.posX-x;
+ int y3 = (int)entity.posY-y;
+ int z3 = (int)entity.posZ-z;
+ long key = IHLUtils.encodeXYZ(x3, y3, z3);
+ this.entityCache.put(key, entity);
+ if(entity.height>1f && y3<254)
+ {
+ long key2 = IHLUtils.encodeXYZ(x3, y3+1, z3);
+ this.entityCache.put(key2, entity);
+ }
+ }
+ }
+ this.entityCached[cax][caz][eay]=true;
+ return this.entityCache.get(IHLUtils.encodeXYZ(x2, y2, z2));
+ }
+ }
+ }
+ return null;
+ }
+
+ public int getEBSResistance(int x2, int y2, int z2)
+ {
+ return this.esbHardness[x2][z2][y2];
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d88773a7ca001510f7df4278c93a7e b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d88773a7ca001510f7df4278c93a7e
new file mode 100644
index 0000000..4324a89
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a0d88773a7ca001510f7df4278c93a7e
@@ -0,0 +1,934 @@
+package ihl.utils;
+
+import ic2.api.recipe.IRecipeInput;
+import ic2.api.recipe.RecipeInputItemStack;
+import ic2.api.recipe.RecipeInputOreDict;
+import ic2.api.recipe.Recipes;
+import ic2.core.BasicMachineRecipeManager;
+import ic2.core.block.invslot.InvSlotOutput;
+import ihl.IHLMod;
+import ihl.interfaces.IWire;
+import ihl.metallurgy.constants.*;
+import ihl.processing.invslots.InvSlotConsumableLiquidIHL;
+import ihl.recipes.IRecipeInputFluid;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.mutable.MutableObject;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.World;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidTank;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class IHLUtils
+{
+ private static Map<String,ItemStack> ihlItemStackRegistry = new HashMap();
+
+ public static void registerLocally(String name, ItemStack stack)
+ {
+ ihlItemStackRegistry.put(name, stack);
+ }
+
+ public static ItemStack getOreDictItemStack(String name)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=1;
+ return orecopy;
+ }
+
+ public static boolean hasOreDictionaryEntry(String name)
+ {
+ return !OreDictionary.getOres(name).isEmpty();
+ }
+
+ public static Item getOreDictItem(String name)
+ {
+ return OreDictionary.getOres(name).get(0).getItem();
+ }
+
+ public static Block getOreDictBlock(String name)
+ {
+ return Block.getBlockFromItem(OreDictionary.getOres(name).get(0).getItem());
+ }
+
+ public static ItemStack getOreDictItemStackWithSize(String name, int size)
+ {
+ ItemStack ore = OreDictionary.getOres(name).get(0);
+ if(ore==null)return null;
+ ItemStack orecopy = ore.copy();
+ orecopy.stackSize=size;
+ return orecopy;
+ }
+
+ public static String getFirstOreDictName(ItemStack stack)
+ {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ if(arrayIDs.length>0)
+ {
+ return OreDictionary.getOreName(arrayIDs[0]);
+ }
+ return "";
+ }
+
+ public static ItemStack getThisModItemStack(String name)
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithSize(String name, int i) {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ ItemStack stack = ihlItemStackRegistry.get(name).copy();
+ stack.stackSize=i;
+ return stack;
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name),i);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name),i);
+ }
+ }
+
+ public static ItemStack getOtherModItemStackWithDamage(String modname, String name,int damage) {
+ if(GameRegistry.findItem(modname, name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem(modname, name),1,damage);
+ }
+ else if(GameRegistry.findBlock(modname, name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock(modname, name),1,damage);
+ }
+ }
+
+ public static Item getThisModItem(String name)
+ {
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return GameRegistry.findItem("ihl", name);
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ else
+ {
+ return Item.getItemFromBlock(GameRegistry.findBlock("ihl", name));
+ }
+ }
+
+ public static FluidStack getFluidStackWithSize(String name, int i) {
+ if(FluidRegistry.isFluidRegistered(name))
+ {
+ return FluidRegistry.getFluidStack(name, i);
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such fluid: "+name);
+ }
+ }
+
+ public static Block getThisModBlock(String name)
+ {
+ if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ throw new IllegalArgumentException("No such block in item registry: ihl:"+name);
+ }
+ else
+ {
+ return GameRegistry.findBlock("ihl", name);
+ }
+ }
+
+ public static ItemStack getThisModItemStackWithDamage(String name,
+ int value)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ stack.setItemDamage(value);
+ return stack;
+ }
+
+ public static boolean adjustWireLength(ItemStack stack, int adjustBy)
+ {
+ int length = getWireLength(stack);
+ if(length<=0)
+ {
+ return true;
+ }
+ else
+ {
+ int newLength = Math.max(length+adjustBy,0);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),newLength);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),newLength);
+ if(newLength==0)
+ {
+ return true;
+ }
+ return false;
+ }
+ }
+
+ public static int getWireLength(ItemStack itemStack)
+ {
+ return itemStack.stackTagCompound.getInteger(((IWire)itemStack.getItem()).getTag());
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(String name, int i) {
+ if(getThisModItemStack(name)!=null)
+ {
+ ItemStack stack = getThisModItemStack(name);
+ if(stack.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException("ihl:"+name + " is not an instance of IWire.");
+ }
+ }
+ else
+ {
+ throw new IllegalArgumentException("No such item in item registry: ihl:"+name);
+ }
+ }
+
+ public static ItemStack getThisModWireItemStackWithLength(ItemStack stack1, int i) {
+ ItemStack stack = stack1.copy();
+ if(stack1.getItem() instanceof IWire)
+ {
+ stack.stackTagCompound = new NBTTagCompound();
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTag(),i);
+ stack.stackTagCompound.setInteger(((IWire)stack.getItem()).getTagSecondary(),i);
+ return stack;
+ }
+ else
+ {
+ throw new IllegalArgumentException(stack1.getUnlocalizedName() + " is not an instance of IWire.");
+ }
+ }
+
+ public static boolean isItemsHaveSameOreDictionaryEntry(ItemStack is, ItemStack is1)
+ {
+ int[] odids1 = OreDictionary.getOreIDs(is);
+ int[] odids2 = OreDictionary.getOreIDs(is1);
+ if(odids1!=null && odids1.length>0 && odids2!=null && odids2.length>0)
+ {
+ for(int i1=0;i1<odids1.length;i1++)
+ {
+ for(int i2=0;i2<odids2.length;i2++)
+ {
+ if(!OreDictionary.getOreName(odids1[i1]).contains("Any") && odids1[i1]==odids2[i2])
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ public static List<ItemStack> getEntryListForOre(String name)
+ {
+ ArrayList<ItemStack> outputList = new ArrayList<ItemStack>();
+ ArrayList<ItemStack> oreList = OreDictionary.getOres(name);
+ Iterator<ItemStack> oreListIterator = oreList.iterator();
+ while(oreListIterator.hasNext())
+ {
+ outputList.add(oreListIterator.next().copy());
+ }
+ return outputList;
+ }
+
+ public static ItemStack getItemStackIfExist(String name)
+ {
+ if(hasOreDictionaryEntry(name))
+ {
+ return getOreDictItemStack(name);
+ }
+ else
+ {
+ if(ihlItemStackRegistry.get(name)!=null)
+ {
+ return ihlItemStackRegistry.get(name).copy();
+ }
+ if(GameRegistry.findItem("ihl", name)!=null)
+ {
+ return new ItemStack(GameRegistry.findItem("ihl", name));
+ }
+ else if(GameRegistry.findBlock("ihl", name)==null)
+ {
+ return null;
+ }
+ else
+ {
+ return new ItemStack(GameRegistry.findBlock("ihl", name));
+ }
+ }
+ }
+
+ public static FluidStack getFluidStackIfExist(String string, int meltingFluidAmount)
+ {
+ if(FluidRegistry.isFluidRegistered(string))
+ {
+ return getFluidStackWithSize(string,meltingFluidAmount);
+ }
+ return null;
+ }
+
+ public static boolean addItemStackToInventory(EntityPlayer player, ItemStack stack)
+ {
+ ItemStack[] inv = player.inventory.mainInventory;
+ for (int i=0;i<=35;i++)
+ {
+ if(inv[i]!=null)
+ {
+ if(inv[i].getItem()==stack.getItem())
+ {
+ if(inv[i].getItemDamage()==stack.getItemDamage() && inv[i].stackSize<inv[i].getMaxStackSize())
+ {
+ inv[i].stackSize+=stack.stackSize;
+ if(inv[i].stackSize>inv[i].getMaxStackSize())
+ {
+ stack.stackSize=inv[i].stackSize-inv[i].getMaxStackSize();
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+ }
+ else
+ {
+ inv[i]=stack;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static FluidStack getFluidStackWithSizeChemicallyPure(String name, int amount)
+ {
+ FluidStack fstack = getFluidStackWithSize(name, amount);
+ fstack.tag=new NBTTagCompound();
+ fstack.tag.setBoolean("chemicallyPure", true);
+ return fstack;
+ }
+
+ public static void removeItemStackFromOreDictionaryEntry(String orename, ItemStack itemStack)
+ {
+ ArrayList<ItemStack> orelist = OreDictionary.getOres(orename);
+ Iterator<ItemStack> oreListIterator = orelist.iterator();
+ ItemStack odstack = null;
+ while(oreListIterator.hasNext())
+ {
+ odstack = oreListIterator.next();
+ if(odstack.getItem()==itemStack.getItem())
+ {
+ break;
+ }
+ else
+ {
+ odstack = null;
+ }
+ }
+ if(odstack != null)
+ {
+ orelist.remove(odstack);
+ IHLMod.log.debug("Stack "+odstack.getDisplayName()+" ("+odstack.toString()+")"+" removed from ore entry '"+orename+"'");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(String input, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(getOreDictItemStack(input), false)==null)
+ {
+ ((BasicMachineRecipeManager)Recipes.macerator).addRecipe(new RecipeInputOreDict(input), new NBTTagCompound(), true, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(String input, int stacksize, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(getOreDictItemStackWithSize(input,stacksize), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputOreDict(input,stacksize), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2MaceratorRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.macerator.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.macerator.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 macerator recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(ItemStack input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(input, false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input.getDisplayName()+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2RollingRecipe(String input, ItemStack output)
+ {
+ if(Recipes.metalformerRolling.getOutputFor(getThisModItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ Recipes.metalformerRolling.addRecipe(new RecipeInputOreDict(input), tag, output);
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 metal former (rolling) recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void addIC2CentrifugeRecipe(String input, ItemStack output, ItemStack output2)
+ {
+ if(Recipes.centrifuge.getOutputFor(getOreDictItemStack(input), false)==null)
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ tag.setInteger("minHeat", 2000);
+ Recipes.centrifuge.addRecipe(new RecipeInputOreDict(input), tag, new ItemStack[] {output,output2});
+ }
+ else
+ {
+ //IHLMod.log.info("IC2 centrifuge recipe for "+input+" already exist. Skipped.");
+ }
+ }
+
+ public static void damageItemViaNBTTag(ItemStack stack, int amount)
+ {
+ NBTTagCompound gtTagCompound;
+ if(stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+ int damage = 0;
+ int maxDamage = 0;
+ if(gtTagCompound.hasKey("MaxDamage"))
+ {
+ maxDamage = gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ stack.stackSize--;
+ return;
+ }
+
+ if(gtTagCompound.hasKey("Damage"))
+ {
+ damage = gtTagCompound.getInteger("Damage");
+ }
+ if(damage<maxDamage-amount)
+ {
+ damage+=amount;
+ gtTagCompound.setInteger("Damage",damage);
+ gtTagCompound.setInteger("MaxDamage",maxDamage);
+ stack.stackTagCompound.setTag("GT.ToolStats", gtTagCompound);
+ }
+ else
+ {
+ stack.stackSize--;
+ }
+ }
+
+ public static int getDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("Damage"))
+ {
+ return gtTagCompound.getInteger("Damage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static int getMaxDamageValueViaNBTTag(ItemStack stack)
+ {
+ NBTTagCompound gtTagCompound = null;
+ if(stack!=null && stack.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ gtTagCompound = stack.stackTagCompound.getCompoundTag("GT.ToolStats");
+ }
+ else
+ {
+ return 0;
+ }
+ if(gtTagCompound!=null && gtTagCompound.hasKey("MaxDamage"))
+ {
+ return gtTagCompound.getInteger("MaxDamage");
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, ItemStack stack2, boolean useOreDictionary)
+ {
+ if(useOreDictionary && isItemsHaveSameOreDictionaryEntry(stack1,stack2))
+ {
+ return true;
+ }
+ else
+ {
+ if(stack1.getItemDamage()==OreDictionary.WILDCARD_VALUE || stack2.getItemDamage()==OreDictionary.WILDCARD_VALUE)
+ {
+ return stack1.getItem()==stack2.getItem();
+ }
+ else
+ {
+ return stack1.getItem()==stack2.getItem() && stack1.getItemDamage()==stack2.getItemDamage();
+ }
+ }
+ }
+
+ public static boolean isItemStacksIsEqual(ItemStack stack1, String stack2name, boolean useOreDictionary)
+ {
+ return isItemStacksIsEqual(stack1, getThisModItemStack(stack2name),useOreDictionary);
+ }
+
+ public static boolean isIRecipeInputMatchesWithAmount(IRecipeInput input, ItemStack stack)
+ {
+ if(input.matches(stack))
+ {
+ if(stack.getItem() instanceof IWire)
+ {
+ return getWireLength(stack)>=input.getAmount();
+ }
+ else
+ {
+ return stack.stackSize>=input.getAmount();
+ }
+ }
+ return false;
+ }
+
+ public static boolean reduceItemStackAmountUsingIRecipeInput(IRecipeInput input, ItemStack stack) {
+ if(stack.getItem() instanceof IWire)
+ {
+ return adjustWireLength(stack,-input.getAmount());
+ }
+ else
+ {
+ stack.stackSize-=input.getAmount();
+ return stack.stackSize<=0;
+ }
+ }
+
+ public static String getFirstOreDictNameExcludingTagAny(ItemStack stack) {
+ int[] arrayIDs = OreDictionary.getOreIDs(stack);
+ for(int i=0;i<arrayIDs.length;i++)
+ {
+ if(!OreDictionary.getOreName(arrayIDs[i]).contains("Any"))
+ {
+ return OreDictionary.getOreName(arrayIDs[i]);
+ }
+ }
+ return "";
+ }
+
+ public static void handleFluidSlotsBehaviour(InvSlotConsumableLiquidIHL fillInputSlot, InvSlotConsumableLiquidIHL drainInputSlot, InvSlotOutput emptyFluidItemsSlot, IFluidTank fluidTank)
+ {
+ MutableObject output;
+ if (drainInputSlot!=null && !drainInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if(fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, true),false)>0 && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fluidTank.fill(drainInputSlot.drain(null, fluidTank.getCapacity()-fluidTank.getFluidAmount(), output, false),true);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ if (fillInputSlot!=null && !fillInputSlot.isEmpty())
+ {
+ output = new MutableObject();
+ if (fillInputSlot.transferFromTank(fluidTank, output, true) && (output.getValue() == null || emptyFluidItemsSlot.canAdd((ItemStack)output.getValue())))
+ {
+ fillInputSlot.transferFromTank(fluidTank, output, false);
+ if(output.getValue()!=null)
+ {
+ emptyFluidItemsSlot.add((ItemStack)output.getValue());
+ }
+ }
+ }
+ }
+ public static double[] tracePlayerView(EntityPlayer entityplayer)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+ if (entityplayer.worldObj!=null && entityplayer.worldObj.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+ double z = entityplayer.posZ;
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 1.0D;
+ return new double[] {x+f7 * d3, y+f6 * d3, z+f9 * d3};
+ }
+
+ public static MovingObjectPosition returnMOPFromPlayer(EntityPlayer entityplayer, World world)
+ {
+ float f1 = entityplayer.rotationPitch;
+ float f2 = entityplayer.rotationYaw;
+ double x = entityplayer.posX;
+ double y =entityplayer.posY + entityplayer.getEyeHeight();
+
+ if (world.isRemote)
+ {
+ y -= entityplayer.getDefaultEyeHeight();
+ }
+
+ double z = entityplayer.posZ;
+ Vec3 vec3d = Vec3.createVectorHelper(x, y, z);
+ float f3 = MathHelper.cos(-f2 * 0.01745329F - (float)Math.PI);
+ float f4 = MathHelper.sin(-f2 * 0.01745329F - (float)Math.PI);
+ float f5 = -MathHelper.cos(-f1 * 0.01745329F);
+ float f6 = MathHelper.sin(-f1 * 0.01745329F);
+ float f7 = f4 * f5;
+ float f9 = f3 * f5;
+ double d3 = 5.0D;
+ Vec3 vec3d1 = vec3d.addVector(f7 * d3, f6 * d3, f9 * d3);
+ MovingObjectPosition movingobjectposition = world.rayTraceBlocks(vec3d, vec3d1, true);
+
+ if (movingobjectposition == null)
+ {
+ return null;
+ }
+
+ if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
+ {
+ return movingobjectposition;
+ }
+ return null;
+ }
+
+ public static short getFacingFromPlayerView(EntityLivingBase player, boolean ignoreSneaking)
+ {
+ int var6 = MathHelper.floor_double(player.rotationPitch * 4.0F / 360.0F + 0.5D) & 3;
+ int var7 = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
+ {
+ if(var6==1)
+ {
+ return 1;
+ }
+ else if(var6==3)
+ {
+ return 0;
+ }
+ else
+ {
+ if(player.isSneaking() && !ignoreSneaking)
+ {
+ switch(var7)
+ {
+ case 0:
+ return 3;
+ case 1:
+ return 4;
+ case 2:
+ return 2;
+ case 3:
+ return 5;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ switch(var7)
+ {
+ case 0:
+ return 2;
+ case 1:
+ return 5;
+ case 2:
+ return 3;
+ case 3:
+ return 4;
+ default:
+ break;
+ }
+ }
+ }
+ }
+ return 3;
+ }
+
+ public static int getChainID(ItemStack itemStack)
+ {
+ if(itemStack!=null && itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("chainUID"))
+ {
+ return itemStack.stackTagCompound.getInteger("chainUID");
+ }
+ return -1;
+ }
+
+ public static List<ItemStack> convertRecipeInputToItemStackList(List<IRecipeInput> input)
+ {
+ Iterator<IRecipeInput> irii=input.iterator();
+ List<ItemStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInput iri = irii.next();
+ ItemStack stack = iri.getInputs().get(0);
+ stack.stackSize=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static List<FluidStack> convertRecipeInputToFluidStackList(List<IRecipeInputFluid> input) {
+ Iterator<IRecipeInputFluid> irii=input.iterator();
+ List<FluidStack> output = new ArrayList();
+ while(irii.hasNext())
+ {
+ IRecipeInputFluid iri = irii.next();
+ FluidStack stack = iri.getInputs().get(0);
+ stack.amount=iri.getAmount();
+ output.add(stack);
+ }
+ return output;
+ }
+
+ public static int[] decodeXYZ(long longNumber)
+ {
+ return new int[] {(int) ((longNumber>>30) & 0xfff)-256,(int) ((longNumber>>15) & 0xfff)-256,(int) (longNumber & 0xfff)-256};
+ }
+
+ public static long encodeXYZ(int x,int y,int z)
+ {
+ return (x+256L)<<30|((y+256L)<<15)|(z+256L);
+ }
+
+ public static int reduceVariableByAbsoluteValue(int variable)
+ {
+ if(variable==0)
+ {
+ return 0;
+ }
+ else if(variable<0)
+ {
+ return variable+1;
+ }
+ else
+ {
+ return variable-1;
+ }
+ }
+
+ public static long getXYZHash(int x,int y,int z)
+ {
+ return ((x&0x1FFFFF)<<42)|((y&0x1FFFFF)<<21)|(z&0x1FFFFF);
+ }
+
+ public static String trim(String str)
+ {
+ int len = str.length();
+ int start;
+ char c;
+ for (start = 0; start < len; ++start)
+ {
+ c = str.charAt(start);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ int end;
+ for (end = len - 1; end >= start; --end)
+ {
+ c = str.charAt(end);
+ if (c > 32 && c != 65279)
+ {
+ break;
+ }
+ }
+ return start <= 0 && end >= len - 1 ? str : str.substring(start, end + 1);
+ }
+
+ public static int getAmountOf(ItemStack is)
+ {
+ if(is.getItem() instanceof IWire)
+ {
+ return getWireLength(is);
+ }
+ else
+ {
+ return is.stackSize;
+ }
+ }
+
+ public static ItemStack getWireItemStackCopyWithLengthMultiplied(ItemStack stack, int multiplier)
+ {
+ ItemStack out = stack.copy();
+ adjustWireLength(out,getWireLength(stack)*(multiplier-1));
+ return out;
+ }
+
+ public static ItemStack getUninsulatedWire(String material, int length, int transverseSection) {
+ ItemStack is = getThisModItemStack("copperWire");
+ is.stackTagCompound=new NBTTagCompound();
+ is.stackTagCompound.setBoolean("firstConnection",false);
+ is.stackTagCompound.setInteger("fullLength", length);
+ is.stackTagCompound.setInteger("length", length);
+ is.stackTagCompound.setBoolean("firstConnection", false);
+ is.stackTagCompound.setString("material", material);
+ is.stackTagCompound.setInteger("transverseSection",transverseSection);
+ is.stackTagCompound.setInteger("resistance", ElectricConductor.getResistivity(material)*100/transverseSection);
+ return is;
+ }
+
+ public static ItemStack getInsulatedWire(String material, int length, int transverseSection, String insulationMaterial, int insulationThickness) {
+ ItemStack is = getUninsulatedWire(material, length, transverseSection);
+ is.stackTagCompound.setString("insulationMaterial",insulationMaterial);
+ is.stackTagCompound.setInteger("insulationThickness",insulationThickness);
+ is.stackTagCompound.setInteger("maxVoltage", getInsulationMaxVoltage(insulationMaterial, insulationThickness));
+ return is;
+ }
+
+ public static int getInsulationMaxVoltage(String insulationMaterial, int insulationThickness)
+ {
+ return Math.min(Insulation.getMaxVoltagePermm(insulationMaterial)*insulationThickness/10,Insulation.getMaxVoltageCap(insulationMaterial));
+ }
+
+ public static ItemStack getItemStackWithTag(String unLocalizedName, String tag, int tagValue) {
+ ItemStack stack = IHLUtils.getThisModItemStack(unLocalizedName);
+ if(stack.stackTagCompound==null)
+ {
+ stack.stackTagCompound=new NBTTagCompound();
+ }
+ stack.stackTagCompound.setInteger(tag, tagValue);
+ return stack;
+ }
+
+ public static boolean isSegmentInsideAABB(AxisAlignedBB collisionBox, double posX, double posY, double posZ, double posX2, double posY2, double posZ2)
+ {
+ if(isInsideofBoundingBox(collisionBox,(float)posX,(float)posY,(float)posZ)||isInsideofBoundingBox(collisionBox,(float)posX2,(float)posY2,(float)posZ2))
+ {
+ return true;
+ }
+ else
+ {
+ double minX=Math.min(posX, posX2);
+ double maxX=Math.max(posX, posX2);
+ double minY=Math.min(posY, posY2);
+ double maxY=Math.max(posY, posY2);
+ double minZ=Math.min(posZ, posZ2);
+ double maxZ=Math.max(posZ, posZ2);
+ return !(maxX<collisionBox.minX || minX>collisionBox.maxX ||
+ maxY<collisionBox.minY || minY>collisionBox.maxY ||
+ maxZ<collisionBox.minZ || minZ>collisionBox.maxZ);
+ }
+ }
+
+ public static boolean isInsideofBoundingBox(AxisAlignedBB bb, float xi, float yi, float zi)
+ {
+ return bb.maxX>xi && bb.minX<xi && bb.maxY>yi && bb.minY<yi && bb.maxZ>zi && bb.minZ<zi;
+ }
+
+ public static boolean isBlockCanBeReplaced(World world, int x, int y, int z)
+ {
+ Block block = world.getBlock(x, y, z);
+ if(block==Blocks.air || block.isAir(world, x, y, z) || block == Blocks.vine || block == Blocks.tallgrass || block == Blocks.deadbush || block == Blocks.snow_layer || block == Blocks.snow)
+ {
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/b0676a5333b500151a77dabf7b9b4d77 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/b0676a5333b500151a77dabf7b9b4d77
new file mode 100644
index 0000000..00f9ed9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/b0676a5333b500151a77dabf7b9b4d77
@@ -0,0 +1,526 @@
+package ihl.items_blocks;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerChangedDimensionEvent;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+import ic2.api.energy.tile.IEnergyTile;
+import ihl.IHLCreativeTab;
+import ihl.IHLMod;
+import ihl.IHLModInfo;
+import ihl.flexible_cable.AnchorTileEntity;
+import ihl.flexible_cable.NodeEntity;
+import ihl.flexible_cable.PowerCableNodeEntity;
+import ihl.interfaces.ICableHolder;
+import ihl.interfaces.IDataCableHolder;
+import ihl.interfaces.IEnergyNetNode;
+import ihl.interfaces.IWire;
+import ihl.utils.IHLUtils;
+
+public class FlexibleCableItem extends Item implements IWire {
+
+ @SideOnly(Side.CLIENT)
+ IIcon thickCopper,
+ thinIron,
+ thickIron,
+ insulatedCopperRawruber,
+ insulatedThickCopperRawruber,
+ insulatedIronRawruber,
+ insulatedThickIronRawruber,
+ insulatedCopperRuber,
+ insulatedThickCopperRuber,
+ insulatedIronRuber,
+ insulatedThickIronRuber;
+ public static FlexibleCableItem instance;
+ private final Set<String> yellowColoredWires = new HashSet(3);
+ protected boolean isDataCable=false;
+
+ public FlexibleCableItem()
+ {
+ super();
+ yellowColoredWires.add("Gold");
+ yellowColoredWires.add("Copper");
+ yellowColoredWires.add("Bronze");
+ this.setCreativeTab(IHLCreativeTab.tab);
+ this.setMaxStackSize(1);
+ instance=this;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item item, CreativeTabs tabs, List itemList)
+ {
+ itemList.add(IHLUtils.getUninsulatedWire("Copper", 160, 15));
+ itemList.add(IHLUtils.getUninsulatedWire("Copper", 160, 240));
+ itemList.add(IHLUtils.getUninsulatedWire("Steel", 160, 15));
+ itemList.add(IHLUtils.getUninsulatedWire("Steel", 160, 240));
+ itemList.add(IHLUtils.getInsulatedWire("Copper", 160, 15,"RawRubber",100));
+ itemList.add(IHLUtils.getInsulatedWire("Copper", 160, 240,"RawRubber",100));
+ itemList.add(IHLUtils.getInsulatedWire("Steel", 160, 15,"RawRubber",100));
+ itemList.add(IHLUtils.getInsulatedWire("Steel", 160, 240,"RawRubber",100));
+ itemList.add(IHLUtils.getInsulatedWire("Copper", 160, 15,"Rubber",100));
+ itemList.add(IHLUtils.getInsulatedWire("Copper", 160, 240,"Rubber",100));
+ itemList.add(IHLUtils.getInsulatedWire("Steel", 160, 15,"Rubber",100));
+ itemList.add(IHLUtils.getInsulatedWire("Steel", 160, 240,"Rubber",100));
+ }
+
+ public static void init()
+ {
+ GameRegistry.registerItem(new FlexibleCableItem(),"copperWire");
+ }
+
+ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
+ {
+ TileEntity t = world.getTileEntity(x, y, z);
+ short facing = IHLUtils.getFacingFromPlayerView(player, true);
+ if(!world.isRemote && t instanceof IEnergyTile && !(t instanceof AnchorTileEntity) && !(t instanceof ICableHolder))
+ {
+ ForgeDirection direction = ForgeDirection.getOrientation(facing);
+ x+=direction.offsetX;
+ y+=direction.offsetY;
+ z+=direction.offsetZ;
+ t=world.getTileEntity(x, y, z);
+ if(IHLUtils.isBlockCanBeReplaced(world, x,y,z))
+ {
+ world.setBlock(x, y, z, IHLMod.cableAnchorBlock);
+ }
+ else if(!(t instanceof AnchorTileEntity))
+ {
+ return false;
+ }
+ t=world.getTileEntity(x, y, z);
+ }
+ if(world.isRemote)world.playSoundEffect(x + 0.5F, y + 0.5F, z + 0.5F, "step.stone", 1.0F, 0.8F);
+ if(!world.isRemote && t!=null &&
+ ((t instanceof IEnergyNetNode && !isDataCable) ||
+ (t instanceof AnchorTileEntity && !isDataCable) ||
+ (t instanceof IDataCableHolder && isDataCable)) &&
+ stack.stackTagCompound.getInteger("fullLength")>=1)
+ {
+ float ppx,ppy,ppz;
+ ICableHolder te;
+ if(t instanceof AnchorTileEntity)
+ {
+ te = ((AnchorTileEntity)t).energyNetNodes[facing];
+ }
+ else
+ {
+ te = (ICableHolder)t;
+ }
+ ppx=(float)te.getPortPos(player)[0];
+ ppy=(float)te.getPortPos(player)[1];
+ ppz=(float)te.getPortPos(player)[2];
+ if(stack.stackTagCompound.getBoolean("firstConnection"))
+ {
+ int x1 = stack.stackTagCompound.getInteger("connectorX");
+ int y1 = stack.stackTagCompound.getInteger("connectorY");
+ int z1 = stack.stackTagCompound.getInteger("connectorZ");
+ int l1=stack.stackTagCompound.getInteger("fullLength");
+ int l2=stack.stackTagCompound.getInteger("length");
+ //if(((x-x1)*(x-x1)+(y-y1)*(y-y1)+(z-z1)*(z-z1))>l1*l1)
+ if(l2<=0)
+ {
+ return false;
+ }
+ if(x==x1 && y==y1 && z==z1)
+ {
+ this.cleanUp(world, x, y, z, stack.stackTagCompound.getInteger("chainUID"));
+ stack.stackTagCompound.setBoolean("firstConnection", false);
+ stack.stackTagCompound.setInteger("length", l1);
+ return true;
+ }
+ int t2DimensionId = stack.stackTagCompound.getInteger("connectorDimensionId");
+ short facing2 = stack.stackTagCompound.getShort("connectorFacing");
+ TileEntity t2 = MinecraftServer.getServer().worldServerForDimension(t2DimensionId).getTileEntity(x1, y1, z1);
+ if(t2==null)
+ {
+ stack.stackTagCompound.setBoolean("firstConnection", false);
+ return false;
+ }
+ this.connect(t,facing, t2, facing2, stack);
+ stack.stackTagCompound.setInteger("fullLength", l2);
+ if(l2<=0)
+ {
+ stack.stackSize--;
+ }
+ stack.stackTagCompound.setBoolean("firstConnection", false);
+ stack.stackTagCompound.setInteger("chainArrangeNumber",stack.stackTagCompound.getInteger("chainArrangeNumber")+1);
+ }
+ else
+ {
+ stack.stackTagCompound.setBoolean("firstConnection", true);
+ stack.stackTagCompound.setInteger("connectorX", x);
+ stack.stackTagCompound.setInteger("connectorY", y);
+ stack.stackTagCompound.setInteger("connectorZ", z);
+ stack.stackTagCompound.setShort("connectorFacing", facing);
+ stack.stackTagCompound.setInteger("connectorDimensionId", world.provider.dimensionId);
+ stack.stackTagCompound.setInteger("prevDimensionId", world.provider.dimensionId);
+ stack.stackTagCompound.setInteger("chainUID",world.rand.nextInt());
+ stack.stackTagCompound.setInteger("chainArrangeNumber",0);
+ stack.stackTagCompound.setDouble("prevNodePosX",ppx);
+ stack.stackTagCompound.setDouble("prevNodePosY",ppy);
+ stack.stackTagCompound.setDouble("prevNodePosZ",ppz);
+ }
+ NodeEntity node = newNode(world, player.posX, player.posY, player.posZ, stack, stack.stackTagCompound.getInteger("chainArrangeNumber"),x,y,z);
+ node.virtualNodePosX=ppx;
+ node.virtualNodePosY=ppy;
+ node.virtualNodePosZ=ppz;
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ protected void connect(TileEntity t1,short facing, TileEntity t2, short facing2, ItemStack stack)
+ {
+ IEnergyNetNode te;
+ IEnergyNetNode te1;
+ if(t1 instanceof IEnergyNetNode)
+ {
+ te = (IEnergyNetNode)t1;
+ }
+ else
+ {
+ te = ((AnchorTileEntity)t1).energyNetNodes[facing];
+ }
+ if(t2 instanceof IEnergyNetNode)
+ {
+ te1 = (IEnergyNetNode)t2;
+ }
+ else
+ {
+ te1 = ((AnchorTileEntity)t2).energyNetNodes[facing2];
+ }
+ int newGridID=IHLMod.enet.mergeGrids(te.getGridID(),te1.getGridID());
+ int l1=stack.stackTagCompound.getInteger("fullLength");
+ int l2=stack.stackTagCompound.getInteger("length");
+ NBTTagCompound cable = (NBTTagCompound) stack.stackTagCompound.copy();
+ cable.setInteger("length", l1-l2);
+ cable.setBoolean("firstConnection", false);
+ if(te.addCable(cable) && te1.addCable(cable))
+ {
+ te.setGrid(newGridID);
+ te1.setGrid(newGridID);
+ }
+ }
+
+ private int getTransverseSection(ItemStack stack) {
+ return stack.stackTagCompound.getInteger("transverseSection");
+ }
+
+ public String getMaterial(ItemStack stack)
+ {
+ return stack.stackTagCompound.getString("material");
+ }
+
+ public int getVoltageLimit(ItemStack stack)
+ {
+ if(stack.stackTagCompound.hasKey("maxVoltage"))
+ {
+ return stack.stackTagCompound.getInteger("maxVoltage");
+ }
+ return 0;
+ }
+
+ private int getResistance(ItemStack stack)
+ {
+ return stack.stackTagCompound.getInteger("resistance");
+ }
+
+ private void cleanUp(World worldObj, int xCoord, int yCoord, int zCoord, int chainUID) {
+ double range = 128D;
+ AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(xCoord-range,yCoord-range,zCoord-range,xCoord+range,yCoord+range,zCoord+range);
+ List<NodeEntity> nodeList = worldObj.getEntitiesWithinAABB(NodeEntity.class, searchArea);
+ if(!nodeList.isEmpty())
+ {
+ Iterator ei = nodeList.iterator();
+ while(ei.hasNext())
+ {
+ NodeEntity ne=(NodeEntity) ei.next();
+ if(ne.getChainUniqueID()==chainUID)
+ {
+ ne.setDead();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onUpdate(ItemStack stack, World world, Entity entity, int slotIndex, boolean isCurrentItem)
+ {
+ if(!world.isRemote && stack.stackTagCompound!=null)
+ {
+ if(stack.stackTagCompound.getBoolean("firstConnection"))
+ {
+ int leight = stack.stackTagCompound.getInteger("length");
+ if(leight>0)
+ {
+ double pnpx = stack.stackTagCompound.getDouble("prevNodePosX");
+ double pnpy = stack.stackTagCompound.getDouble("prevNodePosY");
+ double pnpz = stack.stackTagCompound.getDouble("prevNodePosZ");
+ double ppx=entity.posX;
+ double ppy=entity.posY;
+ double ppz=entity.posZ;
+
+ if(pnpx!=0D && pnpy!=0D && pnpz!=0D)
+ {
+ double sqd = (ppx - pnpx)*(ppx - pnpx) + (ppy - pnpy)*(ppy - pnpy) + (ppz - pnpz)*(ppz - pnpz);
+ if(sqd>2D)
+ {
+ int can = stack.stackTagCompound.getInteger("chainArrangeNumber")+1;
+ int cx = stack.stackTagCompound.getInteger("connectorX");
+ int cy = stack.stackTagCompound.getInteger("connectorY");
+ int cz = stack.stackTagCompound.getInteger("connectorZ");
+ NodeEntity node = newNode(world, ppx, ppy, ppz, stack, can,cx,cy,cz);
+ node.attachedItem=stack;
+ node.virtualNodePosX=(float) (ppx+(ppx - pnpx)*2);
+ node.virtualNodePosY=(float) (ppy+(ppy - pnpy)*2);
+ node.virtualNodePosZ=(float) (ppz+(ppz - pnpz)*2);
+ stack.stackTagCompound.setInteger("chainArrangeNumber",can);
+ stack.stackTagCompound.setDouble("prevNodePosX",ppx);
+ stack.stackTagCompound.setDouble("prevNodePosY",ppy);
+ stack.stackTagCompound.setDouble("prevNodePosZ",ppz);
+ stack.stackTagCompound.setInteger("length",--leight);
+ stack.stackTagCompound.setInteger("prevDimensionId", world.provider.dimensionId);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ protected NodeEntity newNode(World world, double ppx, double ppy, double ppz, ItemStack stack, int can, int x, int y, int z)
+ {
+ PowerCableNodeEntity node = new PowerCableNodeEntity(world);
+ node.setPosition(ppx, ppy, ppz);
+ node.setChainUniqueID(stack.stackTagCompound.getInteger("chainUID"));
+ short facing = stack.stackTagCompound.getShort("connectorFacing");
+ int dimensionId = stack.stackTagCompound.getInteger("connectorDimensionId");
+ node.setAnchor(x, y, z,facing,dimensionId);
+ node.chainArrangeNumber=can;
+ node.colorIndex = this.getColor(stack);
+ if(stack.stackTagCompound.hasKey("insulationMaterial"))
+ {
+ node.type=1;
+ }
+ else
+ {
+ node.type=0;
+ }
+ world.spawnEntityInWorld(node);
+ return node;
+ }
+
+ private int getColor(ItemStack stack)
+ {
+ if(!stack.stackTagCompound.hasKey("insulationMaterial"))
+ {
+ if(yellowColoredWires.contains(this.getMaterial(stack)))
+ {
+ return 0xFF9900;
+ }
+ else
+ {
+ return 0xAAAABB;
+ }
+ }
+ return 0xFFFFFF;
+ }
+
+ @Override
+ public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
+ {
+ if(itemStack.stackTagCompound!=null)
+ {
+ info.add("Length: " + itemStack.stackTagCompound.getInteger("length") +" m");
+ info.add("Wire material: " + this.getMaterial(itemStack));
+ info.add("Resistivity: " + this.getResistance(itemStack)/1000F + " V^2/(EU*m)");
+ info.add("Transverse section: " + this.getTransverseSection(itemStack)/10F + " sq. mm.");
+ if(itemStack.stackTagCompound.hasKey("insulationMaterial"))
+ {
+ info.add("Insulation material: "+this.getInsulationMaterial(itemStack));
+ info.add("Insulation thickness: " + this.getInsulationThickness(itemStack)/10f+" mm");
+ info.add("Insulation breakdown voltage: "+ this.getVoltageLimit(itemStack)/1000 + " kV");
+ }
+
+ }
+ }
+
+ @Override
+ public String getTag()
+ {
+ return "length";
+ }
+
+ @Override
+ public String getTagSecondary()
+ {
+ return "fullLength";
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister)
+ {
+ this.itemIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":copperWire");
+ this.thickCopper = par1IconRegister.registerIcon(IHLModInfo.MODID + ":copperWire16x");
+ this.thinIron = par1IconRegister.registerIcon(IHLModInfo.MODID + ":steelWire");
+ this.thickIron = par1IconRegister.registerIcon(IHLModInfo.MODID + ":steelWire16x");
+ this.insulatedIronRawruber = par1IconRegister.registerIcon(IHLModInfo.MODID + ":flexibleCableSteel2");
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int i)
+ {
+ if(stack.stackTagCompound!=null)
+ {
+ if(this.getInsulationMaterial(stack).equals("null"))
+ {
+ if(this.getTransverseSection(stack)>=240)
+ {
+ if(yellowColoredWires.contains(this.getMaterial(stack)))
+ {
+ return this.thickCopper;
+ }
+ else
+ {
+ return this.thickIron;
+ }
+ }
+ else
+ {
+ if(yellowColoredWires.contains(this.getMaterial(stack)))
+ {
+ return this.itemIcon;
+ }
+ else
+ {
+ return this.thinIron;
+ }
+ }
+ }
+ else
+ {
+ return this.insulatedIronRawruber;
+ }
+ }
+ return this.itemIcon;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack)
+ {
+ if(stack.stackTagCompound!=null && !this.getInsulationMaterial(stack).equals("null"))
+ {
+ return "cable";
+ }
+ return "wire";
+ }
+
+ @Override
+ public boolean isSameWire(ItemStack stack1,ItemStack stack2)
+ {
+ return this.getMaterial(stack1).equals(this.getMaterial(stack2)) &&
+ this.getTransverseSection(stack1)==(this.getTransverseSection(stack2)) &&
+ this.getInsulationMaterial(stack1).equals(this.getInsulationMaterial(stack2)) &&
+ this.getInsulationThickness(stack1)==this.getInsulationThickness(stack2);
+ }
+
+ public String getInsulationMaterial(ItemStack stack)
+ {
+ if(stack.stackTagCompound.hasKey("insulationMaterial"))
+ {
+ return stack.stackTagCompound.getString("insulationMaterial");
+ }
+ return "null";
+ }
+
+ public int getInsulationThickness(ItemStack stack)
+ {
+ if(stack.stackTagCompound.hasKey("insulationThickness"))
+ {
+ return stack.stackTagCompound.getInteger("insulationThickness");
+ }
+ return 0;
+ }
+
+ public void onPlayerTeleport(PlayerChangedDimensionEvent event)
+ {
+ EntityPlayer player = event.player;
+ for(ItemStack stack:player.inventory.mainInventory)
+ {
+ if(stack!=null && stack.getItem() instanceof FlexibleCableItem)
+ {
+ if(stack.stackTagCompound.getBoolean("firstConnection"))
+ {
+ int can = -1;
+ Set<NodeEntity> ns = IHLMod.proxy.nodeEntityRegistry.get(stack.stackTagCompound.getInteger("chainUID"));
+ if(ns!=null)
+ {
+ NodeEntity lastNode = null;
+ for(NodeEntity node:ns)
+ {
+ if(node.chainArrangeNumber>can)
+ {
+ lastNode=node;
+ can=node.chainArrangeNumber;
+ }
+ }
+ if(lastNode!=null)
+ {
+ lastNode.attachedItem=null;
+ lastNode.setVirtualNodePosToNearestPortal();
+ }
+ }
+ double[] cc = IHLUtils.tracePlayerView(player);
+ int cx = stack.stackTagCompound.getInteger("connectorX");
+ int cy = stack.stackTagCompound.getInteger("connectorY");
+ int cz = stack.stackTagCompound.getInteger("connectorZ");
+ int leight = stack.stackTagCompound.getInteger("length");
+ NodeEntity node = newNode(MinecraftServer.getServer().worldServerForDimension(event.toDim), cc[0], cc[1], cc[2], stack, can++,cx,cy,cz);
+ node.attachedItem=null;
+ node.virtualNodePosX=(float) (player.posX);
+ node.virtualNodePosY=(float) (player.posY);
+ node.virtualNodePosZ=(float) (player.posZ);
+ stack.stackTagCompound.setInteger("chainArrangeNumber",can);
+ stack.stackTagCompound.setDouble("prevNodePosX",cc[0]);
+ stack.stackTagCompound.setDouble("prevNodePosY",cc[1]);
+ stack.stackTagCompound.setDouble("prevNodePosZ",cc[2]);
+ stack.stackTagCompound.setInteger("length",--leight);
+ stack.stackTagCompound.setInteger("prevDimensionId", event.toDim);
+ }
+ }
+ }
+// System.out.println(player.posX+"/"+player.posY+"/"+player.posZ);//Destination coordinates
+ }
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/40c790ca5da3001518cde17cb509661c b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/40c790ca5da3001518cde17cb509661c
new file mode 100644
index 0000000..84a0ddb
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/40c790ca5da3001518cde17cb509661c
@@ -0,0 +1,141 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+ InputStream in = IHLMod.class.getResourceAsStream("/assets/ihl/config/ihl-guidebook.xml");
+ InputStreamReader isReader = new InputStreamReader(in, "UTF-8");
+ LineNumberReader reader = new LineNumberReader(isReader);
+ OutputStreamWriter osWriter = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
+ BufferedWriter writer = new BufferedWriter(osWriter);
+ String line;
+ while ((line = reader.readLine()) != null)
+ {
+ writer.append(line);
+ writer.newLine();
+ }
+ writer.close();
+ osWriter.close();
+ in = IHLMod.class.getResourceAsStream("/assets/ihl/config/adress.xsd");
+ isReader = new InputStreamReader(in, "UTF-8");
+ reader = new LineNumberReader(isReader);
+ file = new File(folder, "adress.xsd");
+ osWriter = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
+ writer = new BufferedWriter(osWriter);
+ while ((line = reader.readLine()) != null)
+ {
+ writer.append(line);
+ writer.newLine();
+ }
+ writer.close();
+ osWriter.close();
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/10871e5d49a3001516ebc455efc032e5 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/10871e5d49a3001516ebc455efc032e5
new file mode 100644
index 0000000..973aec1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/10871e5d49a3001516ebc455efc032e5
@@ -0,0 +1,113 @@
+package ihl.utils;
+
+import ihl.IHLMod;
+import ihl.guidebook.IHLGuidebookGui;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.*;
+import org.xml.sax.SAXException;
+
+import com.google.common.io.Files;
+
+
+public class IHLXMLParser {
+
+ public DocumentBuilderFactory dbf;
+ public DocumentBuilder db;
+
+ public IHLXMLParser() throws ParserConfigurationException
+ {
+ dbf = DocumentBuilderFactory.newInstance();
+ db = dbf.newDocumentBuilder();
+ }
+
+ public void visit(Node node, int level, int sectionNumber1, IHLGuidebookGui ihlGuidebookGui)
+ {
+ IHLMod.log.debug("Visiting node.");
+ IHLMod.log.debug("Current section="+sectionNumber1);
+ IHLMod.log.debug("Node name="+node.getNodeName());
+ int sectionNumber = sectionNumber1;
+ NodeList list = node.getChildNodes();
+ IHLMod.log.debug("child size="+list.getLength());
+ if (node instanceof Element)
+ {
+ IHLMod.log.debug("node instance of Element.");
+ Element e = (Element) node;
+ IHLMod.log.debug("Node tagname="+e.getTagName());
+ IHLMod.log.debug("Node text content="+e.getTextContent());
+ if(e.getTagName().equals("title"))
+ {
+ ihlGuidebookGui.setTitle(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("itemstack"))
+ {
+ String[] innername = IHLUtils.trim(e.getTextContent()).split(":");
+ ihlGuidebookGui.addItemStack(IHLUtils.getOtherModItemStackWithDamage(innername[0], innername[1], Integer.parseInt(e.getAttribute("damage"))));
+ }
+ else if(e.getTagName().equals("text"))
+ {
+ ihlGuidebookGui.addTextBlock(IHLUtils.trim(e.getTextContent()));
+ }
+ else if(e.getTagName().equals("image"))
+ {
+ ihlGuidebookGui.setPicture(IHLUtils.trim(e.getTextContent()).replace(" ", ""), Integer.parseInt(e.getAttribute("width")),Integer.parseInt(e.getAttribute("height")));
+ }
+ }
+ for (int i = 0; i < list.getLength(); i++)
+ {
+ Node childNode = list.item(i);
+ if(childNode instanceof Element && ((Element) childNode).getTagName().equals("section"))
+ {
+ Element e = (Element) childNode;
+ int id = Integer.parseInt(e.getAttribute("id"));
+ ihlGuidebookGui.setMaxSectionNumber(id);
+ if(sectionNumber==id)
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ else
+ {
+ if(sectionNumber > ihlGuidebookGui.getMaxSectionNumber())
+ {
+ sectionNumber=0;
+ ihlGuidebookGui.setSectionNumber(0);
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+ else
+ {
+ visit(childNode, level + 1, sectionNumber, ihlGuidebookGui);
+ }
+ }
+ }
+
+ public void setupGuidebookGUI(IHLGuidebookGui ihlGuidebookGui, int sectionNumber) throws SAXException, IOException
+ {
+ Document doc = db.parse(getGuidebookFile());
+ visit(doc, 0, sectionNumber, ihlGuidebookGui);
+ }
+
+ private File getGuidebookFile() throws IOException
+ {
+ File folder = new File(IHLMod.proxy.getMinecraftDir(), "config");
+ folder.mkdirs();
+ File file = new File(folder, "ihl-guidebook.xml");
+ if(!file.exists())
+ {
+// File fileFrom = new File(IHLMod.proxy.getMinecraftDir(),"/assets/ihl/config/ihl-guidebook.xml");
+ File fileFrom = new File(IHLMod.class.getResource("/assets/ihl/config/ihl-guidebook.xml").getFile());
+ Files.copy(fileFrom, file);
+ }
+ return file;
+ }
+
+}
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location
new file mode 100644
index 0000000..07ca694
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers
new file mode 100644
index 0000000..774a341
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/3.tree b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/3.tree
new file mode 100644
index 0000000..fd61945
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/3.tree
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.dat b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..7e92901
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
new file mode 100644
index 0000000..25cb955
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
new file mode 100644
index 0000000..a283d92
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
new file mode 100644
index 0000000..6b2aaa7
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/113.tree b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/113.tree
new file mode 100644
index 0000000..e78819c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/113.tree
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
new file mode 100644
index 0000000..c5e6f77
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs
new file mode 100644
index 0000000..5e2da66
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+spelling_locale_initialized=true
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..a469f5d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+refresh.enabled=true
+version=1
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
new file mode 100644
index 0000000..b94a4cb
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
@@ -0,0 +1,7 @@
+Console.highWaterMark=88000
+StringVariablePreferencePage=130,107,107,86,
+eclipse.preferences.version=1
+org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<launchPerspectives/>\n
+org.eclipse.debug.ui.UseContextualLaunch=false
+org.eclipse.debug.ui.user_view_bindings=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<viewBindings>\r\n<view id\="org.eclipse.ui.console.ConsoleView">\r\n<perspective id\="org.eclipse.jdt.ui.JavaPerspective" userAction\="opened"/>\r\n</view>\r\n</viewBindings>\r\n
+preferredTargets=default\:default|
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs
new file mode 100644
index 0000000..c186df8
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+resetSendMode=KEEP
+resetSendModeOn=0
+sendMode=NOTIFY
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ui.prefs
new file mode 100644
index 0000000..5188891
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ui.prefs
@@ -0,0 +1,3 @@
+action=ASK
+eclipse.preferences.version=1
+rememberSendAction=NONE
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs
new file mode 100644
index 0000000..333b991
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs
@@ -0,0 +1,3 @@
+#Sun Jun 05 18:58:07 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.epp.usagedata.gathering.enabled=false
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..12464e1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,20 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.classpathVariable.ECLIPSE_HOME=/home/foghrye4/Programs/Eclipse Kepler
+org.eclipse.jdt.core.classpathVariable.JRE_LIB=/usr/lib/jvm/java-7-oracle/jre/lib/rt.jar
+org.eclipse.jdt.core.classpathVariable.JRE_SRC=/usr/lib/jvm/java-7-oracle/src.zip
+org.eclipse.jdt.core.classpathVariable.JRE_SRCROOT=
+org.eclipse.jdt.core.classpathVariable.JUNIT_HOME=/home/foghrye4/Programs/Eclipse Kepler/plugins/org.junit_4.11.0.v201303080030/
+org.eclipse.jdt.core.classpathVariable.JUNIT_SRC_HOME=/home/foghrye4/Programs/Eclipse Kepler/plugins/org.junit.source_4.11.0.v201303080030.jar
+org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.deprecation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
+org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..de49def
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1447493118572" defaultVMConnector\="">\n<vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\n<vm id\="1447493118572" name\="java-7-oracle" path\="/usr/lib/jvm/java-7-oracle"/>\n</vmType>\n</vmSettings>\n
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..13b7905
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,20 @@
+content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"><lhs name\="java.lang.Enum"><rhs name\="net.minecraftforge.common.util.ForgeDirection"/></lhs><lhs name\="net.minecraft.client.renderer.Tessellator"><rhs name\="net.minecraft.client.renderer.Tessellator"/></lhs></history>
+content_assist_number_of_computers=19
+content_assist_proposals_background=255,255,255
+content_assist_proposals_foreground=60,60,60
+eclipse.preferences.version=1
+fontPropagated=true
+org.eclipse.jdt.internal.ui.navigator.layout=2
+org.eclipse.jdt.ui.editor.tab.width=
+org.eclipse.jdt.ui.formatterprofiles.version=12
+org.eclipse.jdt.ui.javadoclocations.migrated=true
+org.eclipse.jdt.ui.text.code_templates_migrated=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
+org.eclipse.jdt.ui.text.custom_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
+org.eclipse.jdt.ui.text.templates_migrated=true
+org.eclipse.jface.textfont=1|Monospace|10.0|0|GTK|1|;
+proposalOrderMigrated=true
+spelling_locale_initialized=true
+tabWidthPropagated=true
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
new file mode 100644
index 0000000..67b1d96
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.m2e.discovery.pref.projects=
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
new file mode 100644
index 0000000..43e97e4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+mylyn.attention.migrated=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
new file mode 100644
index 0000000..8d462a6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000..e672db7
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+migrated.task.repositories.keyring=true
+migrated.task.repositories.secure.store=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..d2ed603
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+knownEEFragments=
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..1f92455
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+platform_path=/home/foghrye4/Programs/Eclipse Kepler
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs
new file mode 100644
index 0000000..93878dd
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.rse.systemtype.local.systemType.defaultUserId=foghrye4
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.ui.prefs
new file mode 100644
index 0000000..e24d63a
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.rse.preferences.order.connections=foghrye4-GA-A75-D3H.Local
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs
new file mode 100644
index 0000000..cec65c4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.search.defaultPerspective=org.eclipse.search.defaultPerspective.none
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs
new file mode 100644
index 0000000..56cd496
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.team.ui.first_time=false
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs
new file mode 100644
index 0000000..8fc247c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+internalWebBrowserHistory=http\://web.archive.org/web/20051219043731/http\://archive.ncsa.uiuc.edu/SDG/Software/Mosaic/Demo/url-primer.html|*|http\://download.oracle.com/javase/7/docs/api/java/util/Map.html|*|
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
new file mode 100644
index 0000000..316ef6f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
@@ -0,0 +1,4 @@
+#Sun Jun 05 18:58:05 CEST 2011
+spacesForTabs=true
+eclipse.preferences.version=1
+overviewRuler_migration=migrated_3.1
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
new file mode 100644
index 0000000..d49006e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -0,0 +1,10 @@
+EXIT_PROMPT_ON_CLOSE_LAST_WINDOW=false
+IMPORT_FILES_AND_FOLDERS_MODE=prompt
+IMPORT_FILES_AND_FOLDERS_VIRTUAL_FOLDER_MODE=prompt
+PROBLEMS_FILTERS_MIGRATE=true
+SAVE_ALL_BEFORE_BUILD=true
+TASKS_FILTERS_MIGRATE=true
+eclipse.preferences.version=1
+platformState=1478335949481
+quickStart=false
+tipsAndTricks=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
new file mode 100644
index 0000000..08076f2
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+showIntro=false
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
new file mode 100644
index 0000000..dd77496
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
@@ -0,0 +1,3 @@
+//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
+PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery;
+eclipse.preferences.version=1
diff --git a/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client.launch b/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client.launch
new file mode 100644
index 0000000..53c64e4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client.launch
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/Minecraft"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="GradleStart"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Minecraft"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xincgc -Xmx2048M -Xms2048M"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
+</launchConfiguration>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch b/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch
new file mode 100644
index 0000000..e1a66bf
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/Minecraft/src/main/java/utils/Main.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="utils.Main"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Minecraft"/>
+</launchConfiguration>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server.launch b/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server.launch
new file mode 100644
index 0000000..395f317
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server.launch
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/Minecraft/src/net/minecraft/server/MinecraftServer.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="GradleStartServer"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Minecraft"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xincgc -Xmx1024M -Xms1024M"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
+</launchConfiguration>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
new file mode 100644
index 0000000..40e820e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="org.eclipse.debug.ui.SCOPED_SAVE_SELECTION_DIALOG">
+ <item value="312" key="DIALOG_WIDTH"/>
+ <item value="387" key="DIALOG_HEIGHT"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ </section>
+ <section name="org.eclipse.debug.ui.LAUNCH_CONFIGURATIONS_DIALOG_SECTION">
+ <item value="800" key="DIALOG_WIDTH"/>
+ <item value=", org.eclipse.jdt.launching.localJavaApplication, " key="org.eclipse.debug.ui.EXPANDED_NODES"/>
+ <item value="668" key="DIALOG_HEIGHT"/>
+ <item value="237" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_1"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ <item value="762" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_2"/>
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
new file mode 100644
index 0000000..da5aef1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchHistory>
+<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+<launchGroup id="org.eclipse.debug.ui.launchGroup.profile">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+<launchGroup id="org.eclipse.ui.externaltools.launchGroup">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+<launchGroup id="org.eclipse.debug.ui.launchGroup.run">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+</launchHistory>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
new file mode 100644
index 0000000..d65addd
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
@@ -0,0 +1,2444 @@
+<?xml version="1.0" encoding="ASCII"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_W0B8oOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.legacy.ide.application" contributorURI="platform:/plugin/org.eclipse.platform" selectedElement="_W0B8oeLhEeWHh-AP9QZrlQ" bindingContexts="_W0DyT-LhEeWHh-AP9QZrlQ">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;workbench>&#xA;&lt;mruList>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;IHLMod.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/IHLMod.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/IHLMod.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;IHLModInfo.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/IHLModInfo.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/IHLModInfo.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;IHLTool.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/items_blocks/IHLTool.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/items_blocks/IHLTool.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;IronWorkbenchTileEntity.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/flexible_cable/IronWorkbenchTileEntity.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/flexible_cable/IronWorkbenchTileEntity.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;REGSAddon.java&quot; tooltip=&quot;Minecraft/src/main/java/rapid_electric_grid_setup/REGSAddon.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/rapid_electric_grid_setup/REGSAddon.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.jdt.ui.ClassFileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.ClassFileEditor&quot; name=&quot;FMLControlledNamespacedRegistry.class&quot; tooltip=&quot;cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry&quot;>&#xA;&lt;persistable org.eclipse.jdt.ui.ClassFileIdentifier=&quot;=Minecraft/\/home\/foghrye4\/Programs\/Forge 1.7.10\/build\/dirtyArtifacts\/forgeBin-1.7.10-10.13.4.1564-1.7.10.jar&amp;lt;cpw.mods.fml.common.registry(FMLControlledNamespacedRegistry.class&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ItemBlockRegsOverIC2.java&quot; tooltip=&quot;Minecraft/src/main/java/rapid_electric_grid_setup/ItemBlockRegsOverIC2.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/rapid_electric_grid_setup/ItemBlockRegsOverIC2.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;IHLModInfo.java&quot; tooltip=&quot;Minecraft/src/main/java/rapid_electric_grid_setup/IHLModInfo.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/rapid_electric_grid_setup/IHLModInfo.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;IHLMod.java&quot; tooltip=&quot;Minecraft/src/main/java/rapid_electric_grid_setup/IHLMod.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/rapid_electric_grid_setup/IHLMod.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;Main.java&quot; tooltip=&quot;Minecraft/src/main/java/utils/Main.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/utils/Main.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;FlexibleCableItem.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/items_blocks/FlexibleCableItem.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/items_blocks/FlexibleCableItem.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ServerProxy.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/ServerProxy.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/ServerProxy.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;ClientProxy.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/ClientProxy.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/ClientProxy.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;MachineBaseBlock.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/items_blocks/MachineBaseBlock.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/items_blocks/MachineBaseBlock.java&quot;/>&#xA;&lt;/file>&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;IronWorkbenchRecipeHandler.java&quot; tooltip=&quot;Minecraft/src/main/java/ihl/nei_integration/IronWorkbenchRecipeHandler.java&quot;>&#xA;&lt;persistable path=&quot;/Minecraft/src/main/java/ihl/nei_integration/IronWorkbenchRecipeHandler.java&quot;/>&#xA;&lt;/file>&#xA;&lt;/mruList>&#xA;&lt;/workbench>"/>
+ <tags>activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration</tags>
+ <tags>ModelMigrationProcessor.001</tags>
+ <children xsi:type="basic:TrimmedWindow" xmi:id="_W0B8oeLhEeWHh-AP9QZrlQ" elementId="IDEWindow" contributorURI="platform:/plugin/org.eclipse.platform" selectedElement="_W0B8ouLhEeWHh-AP9QZrlQ" label="%trimmedwindow.label.eclipseSDK" x="139" y="246" width="1010" height="483">
+ <persistedState key="coolBarVisible" value="true"/>
+ <persistedState key="perspectiveBarVisible" value="true"/>
+ <persistedState key="workingSets" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;workingSets/>"/>
+ <persistedState key="aggregateWorkingSetId" value="Aggregate for window 1447493118918"/>
+ <persistedState key="isRestored" value="true"/>
+ <persistedState key="show_in_time" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;show_in_time/>"/>
+ <tags>topLevel</tags>
+ <tags>shellMaximized</tags>
+ <children xsi:type="basic:PartSashContainer" xmi:id="_W0B8ouLhEeWHh-AP9QZrlQ" selectedElement="_W0B8o-LhEeWHh-AP9QZrlQ" horizontal="true">
+ <children xsi:type="advanced:PerspectiveStack" xmi:id="_W0B8o-LhEeWHh-AP9QZrlQ" containerData="7500" selectedElement="_W0B8pOLhEeWHh-AP9QZrlQ">
+ <children xsi:type="advanced:Perspective" xmi:id="_W0B8pOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavaPerspective" selectedElement="_W0B8peLhEeWHh-AP9QZrlQ" label="Java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/jperspective.gif">
+ <persistedState key="persp.hiddenItems" value="persp.hideToolbarSC:org.eclipse.debug.ui.commands.RunToLine,persp.hideToolbarSC:org.eclipse.jdt.ui.actions.OpenProjectWizard,persp.hideToolbarSC:org.eclipse.ui.edit.text.toggleShowSelectedElementOnly,"/>
+ <tags>persp.actionSet:org.eclipse.ui.cheatsheets.actionSet</tags>
+ <tags>persp.actionSet:org.eclipse.search.searchActionSet</tags>
+ <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation</tags>
+ <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation</tags>
+ <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo</tags>
+ <tags>persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet</tags>
+ <tags>persp.actionSet:org.eclipse.ui.actionSet.keyBindings</tags>
+ <tags>persp.actionSet:org.eclipse.ui.actionSet.openFiles</tags>
+ <tags>persp.actionSet:org.eclipse.debug.ui.launchActionSet</tags>
+ <tags>persp.actionSet:org.eclipse.jdt.ui.JavaActionSet</tags>
+ <tags>persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet</tags>
+ <tags>persp.actionSet:org.eclipse.ui.NavigateActionSet</tags>
+ <tags>persp.viewSC:org.eclipse.jdt.ui.PackageExplorer</tags>
+ <tags>persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy</tags>
+ <tags>persp.viewSC:org.eclipse.jdt.ui.SourceView</tags>
+ <tags>persp.viewSC:org.eclipse.jdt.ui.JavadocView</tags>
+ <tags>persp.viewSC:org.eclipse.search.ui.views.SearchView</tags>
+ <tags>persp.viewSC:org.eclipse.ui.console.ConsoleView</tags>
+ <tags>persp.viewSC:org.eclipse.ui.views.ContentOutline</tags>
+ <tags>persp.viewSC:org.eclipse.ui.views.ProblemView</tags>
+ <tags>persp.viewSC:org.eclipse.ui.views.ResourceNavigator</tags>
+ <tags>persp.viewSC:org.eclipse.ui.views.TaskList</tags>
+ <tags>persp.viewSC:org.eclipse.ui.views.ProgressView</tags>
+ <tags>persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer</tags>
+ <tags>persp.viewSC:org.eclipse.ui.texteditor.TemplatesView</tags>
+ <tags>persp.viewSC:org.eclipse.pde.runtime.LogView</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard</tags>
+ <tags>persp.newWizSC:org.eclipse.ui.wizards.new.folder</tags>
+ <tags>persp.newWizSC:org.eclipse.ui.wizards.new.file</tags>
+ <tags>persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard</tags>
+ <tags>persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective</tags>
+ <tags>persp.perspSC:org.eclipse.debug.ui.DebugPerspective</tags>
+ <tags>persp.viewSC:org.eclipse.ant.ui.views.AntView</tags>
+ <tags>persp.showIn:org.eclipse.egit.ui.RepositoriesView</tags>
+ <tags>persp.actionSet:org.eclipse.debug.ui.breakpointActionSet</tags>
+ <tags>persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet</tags>
+ <tags>persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard</tags>
+ <tags>persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet</tags>
+ <tags>persp.showIn:org.eclipse.jdt.ui.PackageExplorer</tags>
+ <tags>persp.showIn:org.eclipse.team.ui.GenericHistoryView</tags>
+ <tags>persp.showIn:org.eclipse.ui.views.ResourceNavigator</tags>
+ <tags>persp.showIn:org.eclipse.ui.navigator.ProjectExplorer</tags>
+ <tags>persp.actionSet:org.eclipse.mylyn.doc.actionSet</tags>
+ <tags>persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation</tags>
+ <tags>persp.actionSet:org.eclipse.wb.core.ui.actionset</tags>
+ <children xsi:type="basic:PartSashContainer" xmi:id="_W0B8peLhEeWHh-AP9QZrlQ" selectedElement="_W0B8puLhEeWHh-AP9QZrlQ" horizontal="true">
+ <children xsi:type="basic:PartSashContainer" xmi:id="_W0B8puLhEeWHh-AP9QZrlQ" containerData="2704" selectedElement="_W0B8p-LhEeWHh-AP9QZrlQ">
+ <children xsi:type="basic:PartStack" xmi:id="_W0B8p-LhEeWHh-AP9QZrlQ" elementId="left" containerData="6000" selectedElement="_W0B8qOLhEeWHh-AP9QZrlQ">
+ <tags>newtablook</tags>
+ <tags>org.eclipse.e4.primaryNavigationStack</tags>
+ <tags>active</tags>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8qOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer" ref="_W0CkA-LhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8qeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.TypeHierarchy" toBeRendered="false" ref="_W0CkjuLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8quLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ResourceNavigator" toBeRendered="false" ref="_W0Ckj-LhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8q-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigator.ProjectExplorer" toBeRendered="false" ref="_W0CkkOLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8rOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.ResultView" toBeRendered="false" ref="_W0Ck4eLhEeWHh-AP9QZrlQ"/>
+ </children>
+ <children xsi:type="basic:PartStack" xmi:id="_W0B8reLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewMStack" toBeRendered="false" containerData="4000">
+ <tags>newtablook</tags>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8ruLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesView" toBeRendered="false" ref="_W0Ck4OLhEeWHh-AP9QZrlQ"/>
+ </children>
+ </children>
+ <children xsi:type="basic:PartSashContainer" xmi:id="_W0B8r-LhEeWHh-AP9QZrlQ" containerData="7296" selectedElement="_W0B8sOLhEeWHh-AP9QZrlQ" horizontal="true">
+ <children xsi:type="basic:PartSashContainer" xmi:id="_W0B8sOLhEeWHh-AP9QZrlQ" containerData="7500" selectedElement="_W0B8seLhEeWHh-AP9QZrlQ">
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8seLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editorss" containerData="3214" ref="_W0B9iOLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="basic:PartStack" xmi:id="_W0B8suLhEeWHh-AP9QZrlQ" elementId="bottom" containerData="2336" selectedElement="_W0B8ueLhEeWHh-AP9QZrlQ">
+ <tags>newtablook</tags>
+ <tags>org.eclipse.e4.secondaryDataStack</tags>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8s-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView" ref="_W0CkkeLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8tOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavadocView" ref="_W0CkruLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8teLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.SourceView" ref="_W0Ckr-LhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8tuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.views.SearchView" ref="_W0CksuLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8t-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.BookmarkView" toBeRendered="false" ref="_W0Ck2eLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8uOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProgressView" toBeRendered="false" ref="_W0Ck2uLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8ueLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.console.ConsoleView" ref="_W0CkteLhEeWHh-AP9QZrlQ"/>
+ </children>
+ </children>
+ <children xsi:type="basic:PartStack" xmi:id="_W0B8uuLhEeWHh-AP9QZrlQ" elementId="right" toBeRendered="false" containerData="2500">
+ <tags>newtablook</tags>
+ <tags>org.eclipse.e4.secondaryNavigationStack</tags>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8u-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ContentOutline" toBeRendered="false" ref="_W0Ck2-LhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8vOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.texteditor.TemplatesView" toBeRendered="false" ref="_W0Ck3uLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8veLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.views.AntView" toBeRendered="false" ref="_W0Ck3-LhEeWHh-AP9QZrlQ"/>
+ </children>
+ </children>
+ </children>
+ </children>
+ </children>
+ <children xsi:type="basic:PartStack" xmi:id="_W0B8vuLhEeWHh-AP9QZrlQ" elementId="stickyFolderRight" toBeRendered="false" containerData="2500">
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8v-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.help.ui.HelpView" toBeRendered="false" ref="_W0B9heLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8wOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.internal.introview" toBeRendered="false" ref="_W0B9huLhEeWHh-AP9QZrlQ"/>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B8weLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.cheatsheets.views.CheatSheetView" toBeRendered="false" ref="_W0B9h-LhEeWHh-AP9QZrlQ"/>
+ </children>
+ </children>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0B9heLhEeWHh-AP9QZrlQ" elementId="org.eclipse.help.ui.HelpView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Help" iconURI="platform:/plugin/org.eclipse.help.ui/icons/view16/help_view.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:Help</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0B9huLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.internal.introview" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Welcome" iconURI="platform:/plugin/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0B9h-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.cheatsheets.views.CheatSheetView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Cheat Sheets" iconURI="platform:/plugin/org.eclipse.ui.cheatsheets/icons/view16/cheatsheet_view.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:Help</tags>
+ </sharedElements>
+ <sharedElements xsi:type="advanced:Area" xmi:id="_W0B9iOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editorss" selectedElement="_W0B9ieLhEeWHh-AP9QZrlQ">
+ <children xsi:type="basic:PartStack" xmi:id="_W0B9ieLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.primaryDataStack">
+ <tags>newtablook</tags>
+ <tags>org.eclipse.e4.primaryDataStack</tags>
+ <tags>EditorStack</tags>
+ <children xsi:type="advanced:Placeholder" xmi:id="_W0B9iuLhEeWHh-AP9QZrlQ" elementId="Drag Placerholder" toBeRendered="false"/>
+ </children>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0CkA-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Package Explorer" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/package.gif" tooltip="Workspace" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;view group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;Aggregate for window 1447493118918&quot;>&#xA;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;>&#xA;&lt;xmlDefinedFilters>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.mylyn.java.ui.MembersFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.m2e.MavenModuleFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/>&#xA;&lt;/xmlDefinedFilters>&#xA;&lt;/customFilters>&#xA;&lt;/view>"/>
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ <tags>active</tags>
+ <tags>activeOnClose</tags>
+ <menus xmi:id="_W0CkBOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>ViewMenu</tags>
+ <tags>menuContribution:menu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkGuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkG-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkHOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkHeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkHuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkH-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkIOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkIeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkIuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkI-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkJOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkJeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkJuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkJ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkKOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkKeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkKuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkK-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkLOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkLeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkLuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkL-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkMOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkMeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkMuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkM-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+ </menus>
+ <toolbar xmi:id="_W0CkiuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer"/>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0CkjuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.TypeHierarchy" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Type Hierarchy" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/class_hi.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ckj-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ResourceNavigator" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Navigator" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0CkkOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigator.ProjectExplorer" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Project Explorer" iconURI="platform:/plugin/org.eclipse.ui.navigator.resources/icons/full/eview16/resource_persp.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0CkkeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Problems" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif" tooltip="0 errors, 2 warnings, 0 others" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;view PRIMARY_SORT_FIELD=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot; categoryGroup=&quot;org.eclipse.ui.ide.severity&quot; markerContentGenerator=&quot;org.eclipse.ui.ide.problemsGenerator&quot; partName=&quot;Problems&quot;>&#xA;&lt;columnWidths org.eclipse.ui.ide.locationField=&quot;120&quot; org.eclipse.ui.ide.markerType=&quot;120&quot; org.eclipse.ui.ide.pathField=&quot;342&quot; org.eclipse.ui.ide.resourceField=&quot;120&quot; org.eclipse.ui.ide.severityAndDescriptionField=&quot;380&quot;/>&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot;/>&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.resourceField&quot;/>&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.pathField&quot;/>&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.locationField&quot;/>&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.markerType&quot;/>&#xA;&lt;/view>"/>
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ <menus xmi:id="_W0CkkuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>ViewMenu</tags>
+ <tags>menuContribution:menu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckk-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CklOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkleLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkluLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckl-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkmOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkmeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkmuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckm-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CknOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkneLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CknuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckn-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkoOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkoeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkouLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Cko-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkpOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkpeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkpuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckp-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkqOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkqeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkquLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckq-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkrOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+ <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+ </menus>
+ <toolbar xmi:id="_W0CkreLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView" visible="false"/>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0CkruLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavadocView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Javadoc" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/javadoc.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ckr-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.SourceView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Declaration" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/source.gif" tooltip="ihl.recipes.UniversalRecipeOutput.getItemOutputs() : List&lt;RecipeOutputItemStack> - Minecraft/src/main/java" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;view/>"/>
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ <menus xmi:id="_W0CksOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.SourceView">
+ <tags>ViewMenu</tags>
+ <tags>menuContribution:menu</tags>
+ </menus>
+ <toolbar xmi:id="_W0CkseLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.SourceView" visible="false"/>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0CksuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.views.SearchView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Search" iconURI="platform:/plugin/org.eclipse.search/icons/full/eview16/searchres.gif" tooltip="" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;view isPinned=&quot;false&quot;>&#xA;&lt;view IMemento.internal.id=&quot;&quot; org.eclipse.search.lastActivation=&quot;0&quot;/>&#xA;&lt;/view>"/>
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ <menus xmi:id="_W0Cks-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.views.SearchView">
+ <tags>ViewMenu</tags>
+ <tags>menuContribution:menu</tags>
+ </menus>
+ <toolbar xmi:id="_W0CktOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.views.SearchView" visible="false"/>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0CkteLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.console.ConsoleView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Console" iconURI="platform:/plugin/org.eclipse.ui.console/icons/full/cview16/console_view.gif" tooltip="" closeable="true">
+ <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xA;&lt;view/>"/>
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ <menus xmi:id="_W0CktuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.console.ConsoleView">
+ <tags>ViewMenu</tags>
+ <tags>menuContribution:menu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckt-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkuOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkueLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkuuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Cku-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkvOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkveLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkvuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckv-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkwOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkweLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkwuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckw-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkxOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkxeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkxuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0Ckx-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkyOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkyeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <menus xsi:type="menu:PopupMenu" xmi:id="_W0CkyuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+ <tags>menuContribution:popup</tags>
+ <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+ </menus>
+ <toolbar xmi:id="_W0Cky-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.console.ConsoleView"/>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ck2eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.BookmarkView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Bookmarks" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ck2uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProgressView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Progress" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/pview.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ck2-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ContentOutline" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Outline" iconURI="platform:/plugin/org.eclipse.ui.views/icons/full/eview16/outline_co.gif" tooltip="" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ <menus xmi:id="_W0Ck3OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ContentOutline">
+ <tags>ViewMenu</tags>
+ <tags>menuContribution:menu</tags>
+ </menus>
+ <toolbar xmi:id="_W0Ck3eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ContentOutline" visible="false"/>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ck3uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.texteditor.TemplatesView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Templates" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/templates.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ck3-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.views.AntView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Ant" iconURI="platform:/plugin/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:Ant</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ck4OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Git Repositories" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/repo_rep.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:Git</tags>
+ </sharedElements>
+ <sharedElements xsi:type="basic:Part" xmi:id="_W0Ck4eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.ResultView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="JUnit" iconURI="platform:/plugin/org.eclipse.jdt.junit/icons/full/eview16/junit.gif" closeable="true">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </sharedElements>
+ <trimBars xmi:id="_W0Ck4uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.main.toolbar">
+ <children xsi:type="menu:ToolBar" xmi:id="_W0Ck4-LhEeWHh-AP9QZrlQ" elementId="group.file" toBeRendered="false">
+ <tags>toolbarSeparator</tags>
+ <children xsi:type="menu:ToolBarSeparator" xmi:id="_W0Ck5OLhEeWHh-AP9QZrlQ" elementId="group.file" toBeRendered="false"/>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0Ck5eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.workbench.file">
+ <tags>Draggable</tags>
+ <children xsi:type="menu:HandledToolItem" xmi:id="_jX9isLZVEeaWh9KzuvcsWA" elementId="print" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/print_edit.png" tooltip="Print" enabled="false" command="_W0FoWuLhEeWHh-AP9QZrlQ"/>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0Ck8uLhEeWHh-AP9QZrlQ" elementId="additions" toBeRendered="false">
+ <tags>toolbarSeparator</tags>
+ <children xsi:type="menu:ToolBarSeparator" xmi:id="_W0Ck8-LhEeWHh-AP9QZrlQ" elementId="additions" toBeRendered="false"/>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DKwOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.breakpointActionSet" visible="false">
+ <tags>Draggable</tags>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DKw-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.launchActionSet">
+ <tags>Draggable</tags>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DKyOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavaElementCreationActionSet">
+ <tags>Draggable</tags>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DKzeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.searchActionSet">
+ <tags>Draggable</tags>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DK0eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.actionSet.presentation" visible="false">
+ <tags>Draggable</tags>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DK2OLhEeWHh-AP9QZrlQ" elementId="group.nav" toBeRendered="false">
+ <tags>toolbarSeparator</tags>
+ <children xsi:type="menu:ToolBarSeparator" xmi:id="_W0DK2eLhEeWHh-AP9QZrlQ" elementId="group.nav" toBeRendered="false"/>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DK2uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.workbench.navigate">
+ <tags>Draggable</tags>
+ <children xsi:type="menu:HandledToolItem" xmi:id="_jYCbMLZVEeaWh9KzuvcsWA" elementId="org.eclipse.ui.window.pinEditor" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/pin_editor.png" tooltip="Pin Editor" type="Check" command="_W0FAcOLhEeWHh-AP9QZrlQ"/>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DK5eLhEeWHh-AP9QZrlQ" elementId="group.editor" toBeRendered="false">
+ <tags>toolbarSeparator</tags>
+ <children xsi:type="menu:ToolBarSeparator" xmi:id="_W0DK5uLhEeWHh-AP9QZrlQ" elementId="group.editor" toBeRendered="false"/>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DK5-LhEeWHh-AP9QZrlQ" elementId="group.help" toBeRendered="false">
+ <tags>toolbarSeparator</tags>
+ <children xsi:type="menu:ToolBarSeparator" xmi:id="_W0DK6OLhEeWHh-AP9QZrlQ" elementId="group.help" toBeRendered="false"/>
+ </children>
+ <children xsi:type="menu:ToolBar" xmi:id="_W0DK6eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.workbench.help" visible="false">
+ <tags>Draggable</tags>
+ </children>
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK7OLhEeWHh-AP9QZrlQ" elementId="PerspectiveSpacer" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.LayoutModifierToolControl">
+ <tags>stretch</tags>
+ <tags>SHOW_RESTORE_MENU</tags>
+ </children>
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK8OLhEeWHh-AP9QZrlQ" elementId="PerspectiveSwitcher" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.e4.ui.workbench.addons.perspectiveswitcher.PerspectiveSwitcher">
+ <tags>Draggable</tags>
+ <tags>HIDEABLE</tags>
+ <tags>SHOW_RESTORE_MENU</tags>
+ </children>
+ </trimBars>
+ <trimBars xmi:id="_W0DK8eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.trim.status" side="Bottom">
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK8uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.StatusLine" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.StandardTrim">
+ <tags>stretch</tags>
+ </children>
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK8-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.HeapStatus" toBeRendered="false" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.StandardTrim"/>
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK9OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ProgressBar" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.StandardTrim">
+ <tags>Draggable</tags>
+ </children>
+ </trimBars>
+ <trimBars xmi:id="_W0DK9eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.trim.vertical1" toBeRendered="false" side="Left">
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK9uLhEeWHh-AP9QZrlQ" elementId="left(org.eclipse.jdt.ui.JavaPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+ <tags>TrimStack</tags>
+ </children>
+ </trimBars>
+ <trimBars xmi:id="_W0DK9-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.trim.vertical2" toBeRendered="false" side="Right">
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK-OLhEeWHh-AP9QZrlQ" elementId="bottom(org.eclipse.jdt.ui.JavaPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+ <persistedState key="XSize" value="415"/>
+ <persistedState key="YSize" value="834"/>
+ <tags>TrimStack</tags>
+ </children>
+ <children xsi:type="menu:ToolControl" xmi:id="_W0DK-eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editorss(org.eclipse.jdt.ui.JavaPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+ <persistedState key="XSize" value="904"/>
+ <persistedState key="YSize" value="742"/>
+ <tags>TrimStack</tags>
+ </children>
+ </trimBars>
+ </children>
+ <bindingTables xmi:id="_W0DK-uLhEeWHh-AP9QZrlQ" contributorURI="platform:/plugin/org.eclipse.platform" bindingContext="_W0DyT-LhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DK_OLhEeWHh-AP9QZrlQ" keySequence="CTRL+INSERT" command="_W0FnauLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DK_eLhEeWHh-AP9QZrlQ" keySequence="CTRL+A" command="_W0FnYeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DK_uLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+I" command="_W0FAc-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLAOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SPACE" command="_W0FnpOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLAeLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+SPACE" command="_W0FopOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLAuLhEeWHh-AP9QZrlQ" keySequence="CTRL+V" command="_W0FApOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLA-LhEeWHh-AP9QZrlQ" keySequence="CTRL+X" command="_W0FoB-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLBOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+Z" command="_W0FoUuLhEeWHh-AP9QZrlQ">
+ <tags>platform:gtk</tags>
+ </bindings>
+ <bindings xmi:id="_W0DLBeLhEeWHh-AP9QZrlQ" keySequence="CTRL+Z" command="_W0FnB-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLBuLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+V" command="_W0FoS-LhEeWHh-AP9QZrlQ">
+ <tags>platform:gtk</tags>
+ </bindings>
+ <bindings xmi:id="_W0DLB-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+L" command="_W0FAlOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLCOLhEeWHh-AP9QZrlQ" keySequence="CTRL+1" command="_W0Fn2-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLCeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+F3" command="_W0Fo9OLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLCuLhEeWHh-AP9QZrlQ" keySequence="CTRL+F10" command="_W0FnhuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLC-LhEeWHh-AP9QZrlQ" keySequence="SHIFT+INSERT" command="_W0FApOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLDOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+D" command="_W0FoS-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLDeLhEeWHh-AP9QZrlQ" keySequence="SHIFT+DEL" command="_W0FoB-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLDuLhEeWHh-AP9QZrlQ" keySequence="CTRL+C" command="_W0FnauLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLD-LhEeWHh-AP9QZrlQ" keySequence="ALT+PAGE_UP" command="_W0FnneLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLEOLhEeWHh-AP9QZrlQ" keySequence="ALT+PAGE_DOWN" command="_W0FoFOLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DLEeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.javaEditorScope" bindingContext="_W0DyW-LhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DLEuLhEeWHh-AP9QZrlQ" keySequence="CTRL+I" command="_W0FndOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLE-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+F" command="_W0FoSuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLFOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+ARROW_UP" command="_W0Fn7eLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLFeLhEeWHh-AP9QZrlQ" keySequence="CTRL+7" command="_W0FAdOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLFuLhEeWHh-AP9QZrlQ" keySequence="CTRL+/" command="_W0FAdOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLF-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+M" command="_W0FoX-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLGOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+/" command="_W0FAdeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLGeLhEeWHh-AP9QZrlQ" keySequence="CTRL+O" command="_W0FnSOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLGuLhEeWHh-AP9QZrlQ" keySequence="CTRL+F3" command="_W0FnyuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLG-LhEeWHh-AP9QZrlQ" keySequence="CTRL+T" command="_W0Fne-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLHOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+P" command="_W0Fnm-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLHeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+U" command="_W0FohuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLHuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+O" command="_W0FASuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLH-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+B" command="_W0FoT-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLIOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+ARROW_UP" command="_W0Fn5-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLIeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+ARROW_DOWN" command="_W0FnVuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLIuLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+C" command="_W0FAdOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLI-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+ARROW_RIGHT" command="_W0Fo--LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLJOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+\" command="_W0Fo_-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLJeLhEeWHh-AP9QZrlQ" keySequence="CTRL+2 F" command="_W0FogeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLJuLhEeWHh-AP9QZrlQ" keySequence="CTRL+2 L" command="_W0FngeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLJ-LhEeWHh-AP9QZrlQ" keySequence="CTRL+2 R" command="_W0FnD-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLKOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+ARROW_DOWN" command="_W0Fo-uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLKeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+ARROW_LEFT" command="_W0FoueLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_RA5wkqM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+SPACE" command="_RAIUi6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBK2UqM1EeaKb6tuSbNsJA" keySequence="CTRL+2 M" command="_RAJivqM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DLKuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.contexts.window" bindingContext="_W0DyUOLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DLK-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+NUMPAD_MULTIPLY" command="_W0FAWuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLLOLhEeWHh-AP9QZrlQ" keySequence="ALT+ARROW_LEFT" command="_W0Fn5eLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLMOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+D Q" command="_W0FoP-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLMeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+D J" command="_W0FoseLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLMuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+D A" command="_W0Foa-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLM-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+D T" command="_W0FnvuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLNOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+J" command="_W0FpHuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLNeLhEeWHh-AP9QZrlQ" keySequence="ALT+ARROW_RIGHT" command="_W0FoW-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLNuLhEeWHh-AP9QZrlQ" keySequence="CTRL+B" command="_W0FAWOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLN-LhEeWHh-AP9QZrlQ" keySequence="CTRL+F8" command="_W0FpFuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLOOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+F7" command="_W0Fns-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLOeLhEeWHh-AP9QZrlQ" keySequence="CTRL+F7" command="_W0FoduLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLOuLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+F6" command="_W0FnjOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLO-LhEeWHh-AP9QZrlQ" keySequence="CTRL+F6" command="_W0FnJeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLPOLhEeWHh-AP9QZrlQ" keySequence="CTRL+M" command="_W0FnkOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLPeLhEeWHh-AP9QZrlQ" keySequence="F12" command="_W0FoJOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLPuLhEeWHh-AP9QZrlQ" keySequence="ALT+-" command="_W0Fn7OLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLP-LhEeWHh-AP9QZrlQ" keySequence="CTRL+," command="_W0FAp-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLQOLhEeWHh-AP9QZrlQ" keySequence="CTRL+." command="_W0FnR-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLQeLhEeWHh-AP9QZrlQ" keySequence="DEL" command="_W0FAleLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLQuLhEeWHh-AP9QZrlQ" keySequence="F5" command="_W0FnHeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLQ-LhEeWHh-AP9QZrlQ" keySequence="ALT+CR" command="_W0FoeuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLROLhEeWHh-AP9QZrlQ" keySequence="CTRL+P" command="_W0FoWuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLReLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+S" command="_W0FnfuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLRuLhEeWHh-AP9QZrlQ" keySequence="CTRL+S" command="_W0Fn0OLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLR-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+F4" command="_W0Fo7-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLSOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+W" command="_W0Fo7-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLSeLhEeWHh-AP9QZrlQ" keySequence="CTRL+F4" command="_W0FnYuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLSuLhEeWHh-AP9QZrlQ" keySequence="CTRL+W" command="_W0FnYuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLS-LhEeWHh-AP9QZrlQ" keySequence="CTRL+N" command="_W0FnZOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLTeLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+N" command="_W0FATOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLTuLhEeWHh-AP9QZrlQ" keySequence="CTRL+U" command="_W0FpI-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLT-LhEeWHh-AP9QZrlQ" keySequence="SHIFT+F5" command="_W0FnDOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLUOLhEeWHh-AP9QZrlQ" keySequence="F11" command="_W0FnCeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLUeLhEeWHh-AP9QZrlQ" keySequence="CTRL+F11" command="_W0FoZeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLUuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+S" command="_W0FAqOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLU-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+O" command="_W0FoJeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLVOLhEeWHh-AP9QZrlQ" keySequence="F2" command="_W0FnROLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLVuLhEeWHh-AP9QZrlQ" keySequence="F4" command="_W0Fn2eLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLV-LhEeWHh-AP9QZrlQ" keySequence="SHIFT+F2" command="_W0Fon-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLWOLhEeWHh-AP9QZrlQ" keySequence="F3" command="_W0FoEeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLWeLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+T" command="_W0FnvOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLWuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+L" command="_W0FotuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLW-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+M" command="_W0FowOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLXOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+V" command="_W0FnJOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLXeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+R" command="_W0FoAOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLXuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+T" command="_W0FoaeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLX-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Z" command="_W0FAa-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLYOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+F8" command="_W0FnveLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLYeLhEeWHh-AP9QZrlQ" keySequence="ALT+F7" command="_W0Fn4uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLYuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+F7" command="_W0FnduLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLY-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+NUMPAD_DIVIDE" command="_W0FoQuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLZOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+R" command="_W0Fnd-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLZeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+W" command="_W0FnP-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLZuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+N" command="_W0FnA-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLZ-LhEeWHh-AP9QZrlQ" keySequence="CTRL+3" command="_W0Fo9uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLaOLhEeWHh-AP9QZrlQ" keySequence="CTRL+Q" command="_W0FoMOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLaeLhEeWHh-AP9QZrlQ" keySequence="CTRL+G" command="_W0FnTeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLa-LhEeWHh-AP9QZrlQ" keySequence="CTRL+H" command="_W0Foe-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLbeLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+H" command="_W0FAVuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLbuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+I" command="_W0FnZ-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLb-LhEeWHh-AP9QZrlQ" keySequence="CTRL+E" command="_W0FAnOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLc-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q J" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLdOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.JavadocView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLdeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q D" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLduLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.SourceView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLd-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q P" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLeOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.PackageExplorer"/>
+ </bindings>
+ <bindings xmi:id="_W0DLeeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q T" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLeuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.TypeHierarchy"/>
+ </bindings>
+ <bindings xmi:id="_W0DLe-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q V" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLfOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.debug.ui.VariableView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLfeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q B" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLfuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.debug.ui.BreakpointView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLf-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+X Q" command="_W0Fn6uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLgOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+X J" command="_W0FobOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLgeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+X A" command="_W0FpBuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLguLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+X T" command="_W0FoeeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLg-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q S" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLhOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.search.ui.views.SearchView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLheLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q Y" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLhuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.team.sync.views.SynchronizeView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLh-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q Z" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLiOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.team.ui.GenericHistoryView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLieLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q H" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLiuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.cheatsheets.views.CheatSheetView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLi-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q C" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLjOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.console.ConsoleView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLjeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q Q" command="_W0Fo5uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLjuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q X" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLj-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.views.ProblemView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLkOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q O" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLkeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.views.ContentOutline"/>
+ </bindings>
+ <bindings xmi:id="_W0DLkuLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+Q L" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0DLk-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.pde.runtime.LogView"/>
+ </bindings>
+ <bindings xmi:id="_W0DLlOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+C" command="_W0FoguLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLleLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+B" command="_W0FoLOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLluLhEeWHh-AP9QZrlQ" keySequence="ALT+CTRL+G" command="_W0FAmeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLl-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+F" command="_W0Fo_eLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLmOLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+E" command="_W0Fnr-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLmeLhEeWHh-AP9QZrlQ" keySequence="CTRL+F" command="_W0FoCeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLmuLhEeWHh-AP9QZrlQ" keySequence="CTRL+#" command="_W0FoGeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLm-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+G" command="_W0FAoeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DLnOLhEeWHh-AP9QZrlQ" keySequence="ALT+CTRL+H" command="_W0FArOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_RA1fIKM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+SHIFT+ARROW_RIGHT" command="_RAIUlKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA4icaM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+SHIFT+ARROW_UP" command="_RAI7kaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA8M0KM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+H" command="_RAJisaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA-CAKM1EeaKb6tuSbNsJA" keySequence="CTRL+-" command="_RAKJtKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA-pEKM1EeaKb6tuSbNsJA" keySequence="ALT+F5" command="_RAKJvKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA_QIaM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+P" command="_RAI7maM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBBFUKM1EeaKb6tuSbNsJA" keySequence="CTRL+{" command="_RAJiqqM1EeaKb6tuSbNsJA">
+ <parameters xmi:id="_RBBFUaM1EeaKb6tuSbNsJA" elementId="Splitter.isHorizontal" name="Splitter.isHorizontal" value="false"/>
+ </bindings>
+ <bindings xmi:id="_RBBsYKM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+F12" command="_RAIUgqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBC6gKM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+U" command="_W0FAf-LhEeWHh-AP9QZrlQ">
+ <tags>platform:gtk</tags>
+ </bindings>
+ <bindings xmi:id="_RBFWwaM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+F9" command="_RAKJu6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBFWwqM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+P" command="_RAI7nKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBF90qM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+SHIFT+F12" command="_RAKJv6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBGk4KM1EeaKb6tuSbNsJA" keySequence="CTRL+F9" command="_RAI7p6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBHzAKM1EeaKb6tuSbNsJA" keySequence="CTRL+F12" command="_RAI7nqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBIaEqM1EeaKb6tuSbNsJA" keySequence="CTRL+_" command="_RAJiqqM1EeaKb6tuSbNsJA">
+ <parameters xmi:id="_RBIaE6M1EeaKb6tuSbNsJA" elementId="Splitter.isHorizontal" name="Splitter.isHorizontal" value="true"/>
+ </bindings>
+ <bindings xmi:id="_RBJBIKM1EeaKb6tuSbNsJA" keySequence="CTRL+=" command="_RAJiu6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBJBIaM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+SHIFT+ARROW_DOWN" command="_RAKwy6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBJoMaM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+B" command="_W0FnNOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_RBK2UKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+Q K" command="_W0Fo5uLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RBK2UaM1EeaKb6tuSbNsJA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.mylyn.tasks.ui.views.tasks"/>
+ </bindings>
+ <bindings xmi:id="_RBLdYKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+X M" command="_RAKJvqM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0Dx0OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.textEditorScope" bindingContext="_W0DyV-LhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0Dx0eLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+NUMPAD_MULTIPLY" command="_W0FAeuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx0uLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+J" command="_W0FoIuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx0-LhEeWHh-AP9QZrlQ" keySequence="CTRL+ARROW_UP" command="_W0FoV-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx1OLhEeWHh-AP9QZrlQ" keySequence="ALT+CTRL+ARROW_UP" command="_W0FoZuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx1eLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+INSERT" command="_W0FoEOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx1uLhEeWHh-AP9QZrlQ" keySequence="ALT+ARROW_DOWN" command="_W0FoCOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx1-LhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+A" command="_W0Fnz-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx2OLhEeWHh-AP9QZrlQ" keySequence="CTRL+ARROW_DOWN" command="_W0FoUOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx2eLhEeWHh-AP9QZrlQ" keySequence="ALT+/" command="_W0FpGOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx2uLhEeWHh-AP9QZrlQ" keySequence="F2" command="_W0FAiuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx2-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+Q" command="_W0FoC-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx3OLhEeWHh-AP9QZrlQ" keySequence="CTRL+NUMPAD_DIVIDE" command="_W0FoROLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx3eLhEeWHh-AP9QZrlQ" keySequence="CTRL+NUMPAD_MULTIPLY" command="_W0FnpeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx3uLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+NUMPAD_DIVIDE" command="_W0FnlOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx3-LhEeWHh-AP9QZrlQ" keySequence="CTRL+NUMPAD_ADD" command="_W0FnxuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx4OLhEeWHh-AP9QZrlQ" keySequence="CTRL+NUMPAD_SUBTRACT" command="_W0FocuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx4eLhEeWHh-AP9QZrlQ" keySequence="CTRL+K" command="_W0Fo0uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx4uLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+K" command="_W0Fo4-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx4-LhEeWHh-AP9QZrlQ" keySequence="CTRL+J" command="_W0FnieLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx5OLhEeWHh-AP9QZrlQ" keySequence="CTRL+L" command="_W0FoE-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx5eLhEeWHh-AP9QZrlQ" keySequence="INSERT" command="_W0FAjuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx5uLhEeWHh-AP9QZrlQ" keySequence="CTRL+F10" command="_W0Fn3uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx5-LhEeWHh-AP9QZrlQ" keySequence="SHIFT+CR" command="_W0Fnn-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx6OLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+CR" command="_W0FAYeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx6eLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+X" command="_W0FosOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx6uLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+Y" command="_W0Fn7uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx6-LhEeWHh-AP9QZrlQ" keySequence="END" command="_W0Fo_OLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx7OLhEeWHh-AP9QZrlQ" keySequence="HOME" command="_W0Fny-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx7eLhEeWHh-AP9QZrlQ" keySequence="SHIFT+END" command="_W0FAXeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx7uLhEeWHh-AP9QZrlQ" keySequence="CTRL+HOME" command="_W0FoeOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx7-LhEeWHh-AP9QZrlQ" keySequence="ALT+ARROW_UP" command="_W0Fof-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx8OLhEeWHh-AP9QZrlQ" keySequence="CTRL+DEL" command="_W0FnBeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx8eLhEeWHh-AP9QZrlQ" keySequence="ALT+CTRL+J" command="_W0FoVuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx8uLhEeWHh-AP9QZrlQ" keySequence="CTRL+END" command="_W0FAj-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx8-LhEeWHh-AP9QZrlQ" keySequence="CTRL+BS" command="_W0FnMuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx9OLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+ARROW_LEFT" command="_W0Fn_OLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx9eLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+DEL" command="_W0FnIuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx9uLhEeWHh-AP9QZrlQ" keySequence="ALT+CTRL+ARROW_DOWN" command="_W0Fog-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx9-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+ARROW_RIGHT" command="_W0Fo8uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx-OLhEeWHh-AP9QZrlQ" keySequence="SHIFT+HOME" command="_W0FoHeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx-eLhEeWHh-AP9QZrlQ" keySequence="CTRL+ARROW_LEFT" command="_W0FnFOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx-uLhEeWHh-AP9QZrlQ" keySequence="CTRL+ARROW_RIGHT" command="_W0FoiOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx--LhEeWHh-AP9QZrlQ" keySequence="CTRL+D" command="_W0FnheLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_RBHzAqM1EeaKb6tuSbNsJA" keySequence="F12" command="_RAHtcKM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0Dx_OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.AntEditorScope" bindingContext="_W0DyWOLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0Dx_eLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+F" command="_W0FoSuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx_uLhEeWHh-AP9QZrlQ" keySequence="SHIFT+F2" command="_W0Fnb-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0Dx_-LhEeWHh-AP9QZrlQ" keySequence="F3" command="_W0Fn0-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyAOLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+R" command="_W0FAaOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyAeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+O" command="_W0Fo5eLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyAuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.pdeEditorContext" bindingContext="_W0DyWeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyBeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesView" bindingContext="_W0DyXuLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyBuLhEeWHh-AP9QZrlQ" keySequence="CTRL+V" command="_W0FAo-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyB-LhEeWHh-AP9QZrlQ" keySequence="CTRL+C" command="_W0FAquLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyCOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.debugging" bindingContext="_W0DyUuLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyCeLhEeWHh-AP9QZrlQ" keySequence="F5" command="_W0FoU-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyCuLhEeWHh-AP9QZrlQ" keySequence="CTRL+F5" command="_W0FoCuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyC-LhEeWHh-AP9QZrlQ" keySequence="F8" command="_W0FpJOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyDOLhEeWHh-AP9QZrlQ" keySequence="F7" command="_W0Fo-OLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyDeLhEeWHh-AP9QZrlQ" keySequence="F6" command="_W0FAZ-LhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyDuLhEeWHh-AP9QZrlQ" keySequence="CTRL+F2" command="_W0FnqeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyD-LhEeWHh-AP9QZrlQ" keySequence="CTRL+R" command="_W0FnbuLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyEOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.BreakpointView" bindingContext="_W0DyVuLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyEeLhEeWHh-AP9QZrlQ" keySequence="ALT+CR" command="_W0FoXOLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyEuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.memoryview" bindingContext="_W0DyXeLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyE-LhEeWHh-AP9QZrlQ" keySequence="CTRL+W" command="_W0FntuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyFOLhEeWHh-AP9QZrlQ" keySequence="CTRL+N" command="_W0Fn8eLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyFeLhEeWHh-AP9QZrlQ" keySequence="ALT+CTRL+M" command="_W0FAbOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyFuLhEeWHh-AP9QZrlQ" keySequence="ALT+CTRL+N" command="_W0FAjeLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyF-LhEeWHh-AP9QZrlQ" keySequence="CTRL+T" command="_W0FoM-LhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyGOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.memory.abstractasynctablerendering" bindingContext="_W0DyVOLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyGeLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+," command="_W0Fo4uLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyGuLhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+." command="_W0FARuLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyG-LhEeWHh-AP9QZrlQ" keySequence="CTRL+G" command="_W0FnruLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyHOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.propertiesEditorScope" bindingContext="_W0DyWuLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyHeLhEeWHh-AP9QZrlQ" keySequence="CTRL+7" command="_W0FAdOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyHuLhEeWHh-AP9QZrlQ" keySequence="CTRL+/" command="_W0FAdOLhEeWHh-AP9QZrlQ"/>
+ <bindings xmi:id="_W0DyH-LhEeWHh-AP9QZrlQ" keySequence="CTRL+SHIFT+C" command="_W0FAdOLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyIOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.breadcrumbEditorScope" bindingContext="_W0DyZOLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyIeLhEeWHh-AP9QZrlQ" keySequence="ALT+SHIFT+B" command="_W0FoT-LhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyIuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.ReflogView" bindingContext="_W0DyX-LhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyI-LhEeWHh-AP9QZrlQ" keySequence="CTRL+C" command="_W0FnY-LhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyJOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.console" bindingContext="_W0DyXOLhEeWHh-AP9QZrlQ">
+ <bindings xmi:id="_W0DyJeLhEeWHh-AP9QZrlQ" keySequence="CTRL+D" command="_W0FnmuLhEeWHh-AP9QZrlQ"/>
+ </bindingTables>
+ <bindingTables xmi:id="_W0DyJuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyZeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyJ-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyZuLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyKOLhEeWHh-AP9QZrlQ" bindingContext="_W0DyZ-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyKeLhEeWHh-AP9QZrlQ" bindingContext="_W0DyaOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyKuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyaeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyK-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyauLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyLOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dya-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyLeLhEeWHh-AP9QZrlQ" bindingContext="_W0DybOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyLuLhEeWHh-AP9QZrlQ" bindingContext="_W0DybeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyL-LhEeWHh-AP9QZrlQ" bindingContext="_W0DybuLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyMOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dyb-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyMeLhEeWHh-AP9QZrlQ" bindingContext="_W0DycOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyMuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyceLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyM-LhEeWHh-AP9QZrlQ" bindingContext="_W0DycuLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyNOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dyc-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyNeLhEeWHh-AP9QZrlQ" bindingContext="_W0DydOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyNuLhEeWHh-AP9QZrlQ" bindingContext="_W0DydeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyN-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyduLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyOOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dyd-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyOeLhEeWHh-AP9QZrlQ" bindingContext="_W0DyeOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyOuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyeeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyO-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyeuLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyPOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dye-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyPeLhEeWHh-AP9QZrlQ" bindingContext="_W0DyfOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyPuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyfeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyP-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyfuLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyQOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dyf-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyQeLhEeWHh-AP9QZrlQ" bindingContext="_W0DygOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyQuLhEeWHh-AP9QZrlQ" bindingContext="_W0DygeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyQ-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyguLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyROLhEeWHh-AP9QZrlQ" bindingContext="_W0Dyg-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyReLhEeWHh-AP9QZrlQ" bindingContext="_W0DyhOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyRuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyheLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyR-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyhuLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DySOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dyh-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DySeLhEeWHh-AP9QZrlQ" bindingContext="_W0DyiOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DySuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyieLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyS-LhEeWHh-AP9QZrlQ" bindingContext="_W0DyiuLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyTOLhEeWHh-AP9QZrlQ" bindingContext="_W0Dyi-LhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyTeLhEeWHh-AP9QZrlQ" bindingContext="_W0DyjOLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_W0DyTuLhEeWHh-AP9QZrlQ" bindingContext="_W0DyjeLhEeWHh-AP9QZrlQ"/>
+ <bindingTables xmi:id="_RAzC4KM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.structuredTextEditorScope" bindingContext="_RAPCOKM1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RA04EKM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+C" command="_RAKJtqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA2GMKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+ARROW_RIGHT" command="_RAI7k6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA3UUKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+ARROW_DOWN" command="_RAI7s6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA37YqM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+A" command="_RAKw0KM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA4icKM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+ARROW_UP" command="_RAI7rqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA5wkaM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+ARROW_UP" command="_RAI7qqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA7lwKM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+F" command="_RAKwxaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBAeQaM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+P" command="_RAIUiKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBFWwKM1EeaKb6tuSbNsJA" keySequence="F3" command="_RAIUhaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBGk4aM1EeaKb6tuSbNsJA" keySequence="CTRL+I" command="_RAJiuKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBHL86M1EeaKb6tuSbNsJA" keySequence="CTRL+O" command="_RAIUj6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBHzAaM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+/" command="_RAIUgaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBIaEKM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+\" command="_RAI7m6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBIaEaM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+>" command="_RAJis6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBJBJKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+ARROW_LEFT" command="_RAIUlaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBJoMKM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+ARROW_DOWN" command="_RAKJxqM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RA2GMaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" bindingContext="_RAPCNKM1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RA2tQKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+ARROW_DOWN" command="_RAKJt6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA5JgaM1EeaKb6tuSbNsJA" keySequence="ALT+ARROW_DOWN" command="_RAJisqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA5wkKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+ARROW_UP" command="_RAJiqKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA8M0aM1EeaKb6tuSbNsJA" keySequence="SHIFT+INSERT" command="_RAI7mqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA9a8KM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+I" command="_RAKJs6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA-pEaM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+R" command="_RAKJuKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBCTcaM1EeaKb6tuSbNsJA" keySequence="CTRL+CR" command="_RAJisKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBC6gaM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+U" command="_RAI7saM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBFWw6M1EeaKb6tuSbNsJA" keySequence="F4" command="_RAIUmqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBF90KM1EeaKb6tuSbNsJA" keySequence="INSERT" command="_RAJiw6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBIaFKM1EeaKb6tuSbNsJA" keySequence="ALT+ARROW_UP" command="_RAI7oaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBJBIqM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+C" command="_RAKwz6M1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RA37YKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.java.editorScope" bindingContext="_RAPCMaM1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RA37YaM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+A" command="_RAKJxaM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA5JgKM1EeaKb6tuSbNsJA" keySequence="ALT+CTRL+A" command="_RAKJxaM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RA9a8aM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.editors.task" bindingContext="_RAPCNaM1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RA9a8qM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+I" command="_RAKJs6M1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RA_QIKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+R" command="_RAKJuKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBCTcKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+S" command="_RAJitKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBDhkKM1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+U" command="_RAI7saM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBF90aM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+M" command="_RAIUhKM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBHL8KM1EeaKb6tuSbNsJA" keySequence="CTRL+O" command="_RAKJwqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBJBI6M1EeaKb6tuSbNsJA" keySequence="ALT+SHIFT+C" command="_RAKwz6M1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RA9a86M1EeaKb6tuSbNsJA" elementId="org.eclipse.core.runtime.xml" bindingContext="_RAPpQaM1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RA9a9KM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+D" command="_RAKwwqM1EeaKb6tuSbNsJA"/>
+ <bindings xmi:id="_RBAeQKM1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+P" command="_RAJirqM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RBBFUqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.tasks.ui.markupSourceContext" bindingContext="_RAPpR6M1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RBBFU6M1EeaKb6tuSbNsJA" keySequence="CTRL+SHIFT+O" command="_RAIUiqM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RBEvsKM1EeaKb6tuSbNsJA" elementId="org.eclipse.jdt.ui.classFileEditorScope" bindingContext="_RAPCMqM1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RBEvsaM1EeaKb6tuSbNsJA" keySequence="CTRL+1" command="_RAKww6M1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RBGk4qM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.internal.wikitext.ui.editor.basicMarkupSourceContext" bindingContext="_RAPCNqM1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RBGk46M1EeaKb6tuSbNsJA" keySequence="F1" command="_RAHtdaM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RBHL8aM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.editor.markupSourceContext" bindingContext="_RAPCN6M1EeaKb6tuSbNsJA">
+ <bindings xmi:id="_RBHL8qM1EeaKb6tuSbNsJA" keySequence="CTRL+O" command="_RAIUiqM1EeaKb6tuSbNsJA"/>
+ </bindingTables>
+ <bindingTables xmi:id="_RWipYaM1EeaKb6tuSbNsJA" bindingContext="_RWipYKM1EeaKb6tuSbNsJA"/>
+ <bindingTables xmi:id="_RWjQcaM1EeaKb6tuSbNsJA" bindingContext="_RWjQcKM1EeaKb6tuSbNsJA"/>
+ <bindingTables xmi:id="_RWjQc6M1EeaKb6tuSbNsJA" bindingContext="_RWjQcqM1EeaKb6tuSbNsJA"/>
+ <bindingTables xmi:id="_RWj3gaM1EeaKb6tuSbNsJA" bindingContext="_RWj3gKM1EeaKb6tuSbNsJA"/>
+ <bindingTables xmi:id="_RWj3g6M1EeaKb6tuSbNsJA" bindingContext="_RWj3gqM1EeaKb6tuSbNsJA"/>
+ <bindingTables xmi:id="_RWkekaM1EeaKb6tuSbNsJA" bindingContext="_RWkekKM1EeaKb6tuSbNsJA"/>
+ <bindingTables xmi:id="_RWkek6M1EeaKb6tuSbNsJA" bindingContext="_RWkekqM1EeaKb6tuSbNsJA"/>
+ <rootContext xmi:id="_W0DyT-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.contexts.dialogAndWindow" contributorURI="platform:/plugin/org.eclipse.platform" name="In Dialogs and Windows" description="Either a dialog or a window is open">
+ <children xmi:id="_W0DyUOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.contexts.window" contributorURI="platform:/plugin/org.eclipse.platform" name="In Windows" description="A window is open">
+ <children xmi:id="_W0DyUeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.ui.contexts.views" contributorURI="platform:/plugin/org.eclipse.platform" name="%bindingcontext.name.bindingView"/>
+ <children xmi:id="_W0DyUuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.debugging" name="Debugging" description="Debugging programs">
+ <children xmi:id="_W0DyU-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.debugging" name="Debugging Java" description="Debugging Java programs"/>
+ <children xmi:id="_W0DyVOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.memory.abstractasynctablerendering" name="In Table Memory Rendering" description="In Table Memory Rendering"/>
+ </children>
+ <children xmi:id="_W0DyVeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.compareEditorScope" name="Comparing in an Editor" description="Comparing in an Editor"/>
+ <children xmi:id="_W0DyVuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.BreakpointView" name="In Breakpoints View" description="The breakpoints view context"/>
+ <children xmi:id="_W0DyV-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.textEditorScope" name="Editing Text" description="Editing Text Context">
+ <children xmi:id="_W0DyWOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.AntEditorScope" name="Editing Ant Buildfiles" description="Editing Ant Buildfiles Context"/>
+ <children xmi:id="_W0DyWeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.pdeEditorContext" name="PDE editor" description="The context used by PDE editors"/>
+ <children xmi:id="_W0DyWuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.propertiesEditorScope" name="Editing Properties Files" description="Editing Properties Files Context"/>
+ <children xmi:id="_W0DyW-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.javaEditorScope" name="Editing Java Source" description="Editing Java Source Context"/>
+ <children xmi:id="_RAPCMaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.java.editorScope" name="WindowBuilder Java scope"/>
+ <children xmi:id="_RAPCMqM1EeaKb6tuSbNsJA" elementId="org.eclipse.jdt.ui.classFileEditorScope" name="Browsing attached Java Source" description="Browsing attached Java Source Context"/>
+ <children xmi:id="_RAPCM6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xsd.ui.text.editor.context" name="Editing XSD context"/>
+ <children xmi:id="_RAPCNaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.editors.task" name="In Tasks Editor"/>
+ <children xmi:id="_RAPCNqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.internal.wikitext.ui.editor.basicMarkupSourceContext" name="WikiText Markup Source Context" description="WikiText markup editing context">
+ <children xmi:id="_RAPCN6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.editor.markupSourceContext" name="WikiText Markup Source Context" description="WikiText markup editing context"/>
+ <children xmi:id="_RAPpR6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.tasks.ui.markupSourceContext" name="Task Markup Editor Source Context"/>
+ </children>
+ <children xmi:id="_RAPCOKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.structuredTextEditorScope" name="Editing in Structured Text Editors" description="Editing in Structured Text Editors">
+ <children xmi:id="_RAPCOaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.navigation" name="XML Source Navigation" description="XML Source Navigation"/>
+ <children xmi:id="_RAPCOqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.cleanup" name="XML Source Cleanup" description="XML Source Cleanup"/>
+ <children xmi:id="_RAPpQKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.comments" name="Source Comments in Structured Text Editors" description="Source Comments in Structured Text Editors"/>
+ <children xmi:id="_RAPpQaM1EeaKb6tuSbNsJA" elementId="org.eclipse.core.runtime.xml" name="Editing XML Source" description="Editing XML Source"/>
+ <children xmi:id="_RAPpQqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.occurrences" name="XML Source Occurrences" description="XML Source Occurrences"/>
+ <children xmi:id="_RAPpQ6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.grammar" name="XML Source Grammar" description="XML Source Grammar"/>
+ <children xmi:id="_RAPpRKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.comments" name="XML Source Comments" description="XML Source Comments"/>
+ <children xmi:id="_RAPpRqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.expand" name="XML Source Expand/Collapse" description="XML Source Expand/Collapse"/>
+ <children xmi:id="_RAPpSKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.hideFormat" name="Editing in Structured Text Editors" description="Editing in Structured Text Editors"/>
+ <children xmi:id="_RAPpSaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.selection" name="XML Source Selection" description="XML Source Selection"/>
+ <children xmi:id="_RAPpSqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.dependencies" name="XML Source Dependencies" description="XML Source Dependencies"/>
+ </children>
+ </children>
+ <children xmi:id="_W0DyXOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.console" name="In I/O Console" description="In I/O console"/>
+ <children xmi:id="_W0DyXeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.memoryview" name="In Memory View" description="In memory view"/>
+ <children xmi:id="_W0DyXuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesView" name="In Git Repositories View"/>
+ <children xmi:id="_W0DyX-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.ReflogView" name="In Git Reflog View"/>
+ <children xmi:id="_W0DyYOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.console.ConsoleView" name="In Console View" description="In Console View"/>
+ <children xmi:id="_RAPCNKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" name="In Tasks View"/>
+ </children>
+ <children xmi:id="_W0DyYeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.contexts.dialog" contributorURI="platform:/plugin/org.eclipse.platform" name="In Dialogs" description="A dialog is open"/>
+ </rootContext>
+ <rootContext xmi:id="_W0DyYuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.contexts.workbenchMenu" name="Workbench Menu" description="When no Workbench windows are active"/>
+ <rootContext xmi:id="_W0DyY-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.contexts.actionSet" name="Action Set" description="Parent context for action sets"/>
+ <rootContext xmi:id="_W0DyZOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.breadcrumbEditorScope" name="Editor Breadcrumb Navigation" description="Editor Breadcrumb Navigation Context"/>
+ <rootContext xmi:id="_W0DyZeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.actions.ManageBreakpointRulerAction" name="Auto::org.eclipse.ant.ui.actions.ManageBreakpointRulerAction"/>
+ <rootContext xmi:id="_W0DyZuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction" name="Auto::org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction"/>
+ <rootContext xmi:id="_W0DyZ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.SnippetExecute" name="Auto::org.eclipse.jdt.debug.ui.SnippetExecute"/>
+ <rootContext xmi:id="_W0DyaOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.SnippetDisplay" name="Auto::org.eclipse.jdt.debug.ui.SnippetDisplay"/>
+ <rootContext xmi:id="_W0DyaeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.SnippetInspect" name="Auto::org.eclipse.jdt.debug.ui.SnippetInspect"/>
+ <rootContext xmi:id="_W0DyauLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.internal.ui.javaeditor.BookmarkRulerAction" name="Auto::org.eclipse.jdt.internal.ui.javaeditor.BookmarkRulerAction"/>
+ <rootContext xmi:id="_W0Dya-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction" name="Auto::org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction"/>
+ <rootContext xmi:id="_W0DybOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.internal.ui.propertiesfileeditor.BookmarkRulerAction" name="Auto::org.eclipse.jdt.internal.ui.propertiesfileeditor.BookmarkRulerAction"/>
+ <rootContext xmi:id="_W0DybeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.internal.ui.propertiesfileeditor.SelectRulerAction" name="Auto::org.eclipse.jdt.internal.ui.propertiesfileeditor.SelectRulerAction"/>
+ <rootContext xmi:id="_W0DybuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.texteditor.BookmarkRulerAction" name="Auto::org.eclipse.ui.texteditor.BookmarkRulerAction"/>
+ <rootContext xmi:id="_W0Dyb-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.texteditor.SelectRulerAction" name="Auto::org.eclipse.ui.texteditor.SelectRulerAction"/>
+ <rootContext xmi:id="_W0DycOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.actionSet.presentation" name="Auto::org.eclipse.ant.ui.actionSet.presentation"/>
+ <rootContext xmi:id="_W0DyceLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.breakpointActionSet" name="Auto::org.eclipse.debug.ui.breakpointActionSet"/>
+ <rootContext xmi:id="_W0DycuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.debugActionSet" name="Auto::org.eclipse.debug.ui.debugActionSet"/>
+ <rootContext xmi:id="_W0Dyc-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.launchActionSet" name="Auto::org.eclipse.debug.ui.launchActionSet"/>
+ <rootContext xmi:id="_W0DydOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.profileActionSet" name="Auto::org.eclipse.debug.ui.profileActionSet"/>
+ <rootContext xmi:id="_W0DydeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.gitaction" name="Auto::org.eclipse.egit.ui.gitaction"/>
+ <rootContext xmi:id="_W0DyduLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.navigation" name="Auto::org.eclipse.egit.ui.navigation"/>
+ <rootContext xmi:id="_W0Dyd-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.JDTDebugActionSet" name="Auto::org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
+ <rootContext xmi:id="_W0DyeOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.JUnitActionSet" name="Auto::org.eclipse.jdt.junit.JUnitActionSet"/>
+ <rootContext xmi:id="_W0DyeeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.text.java.actionSet.presentation" name="Auto::org.eclipse.jdt.ui.text.java.actionSet.presentation"/>
+ <rootContext xmi:id="_W0DyeuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavaElementCreationActionSet" name="Auto::org.eclipse.jdt.ui.JavaElementCreationActionSet"/>
+ <rootContext xmi:id="_W0Dye-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavaActionSet" name="Auto::org.eclipse.jdt.ui.JavaActionSet"/>
+ <rootContext xmi:id="_W0DyfOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.A_OpenActionSet" name="Auto::org.eclipse.jdt.ui.A_OpenActionSet"/>
+ <rootContext xmi:id="_W0DyfeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.CodingActionSet" name="Auto::org.eclipse.jdt.ui.CodingActionSet"/>
+ <rootContext xmi:id="_W0DyfuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.SearchActionSet" name="Auto::org.eclipse.jdt.ui.SearchActionSet"/>
+ <rootContext xmi:id="_W0Dyf-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.SearchActionSet" name="Auto::org.eclipse.pde.ui.SearchActionSet"/>
+ <rootContext xmi:id="_W0DygOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.cheatsheets.actionSet" name="Auto::org.eclipse.ui.cheatsheets.actionSet"/>
+ <rootContext xmi:id="_W0DygeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.searchActionSet" name="Auto::org.eclipse.search.searchActionSet"/>
+ <rootContext xmi:id="_W0DyguLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.CVSActionSet" name="Auto::org.eclipse.team.cvs.ui.CVSActionSet"/>
+ <rootContext xmi:id="_W0Dyg-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ui.actionSet" name="Auto::org.eclipse.team.ui.actionSet"/>
+ <rootContext xmi:id="_W0DyhOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.actionSet.annotationNavigation" name="Auto::org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
+ <rootContext xmi:id="_W0DyheLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.actionSet.navigation" name="Auto::org.eclipse.ui.edit.text.actionSet.navigation"/>
+ <rootContext xmi:id="_W0DyhuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo" name="Auto::org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
+ <rootContext xmi:id="_W0Dyh-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.externaltools.ExternalToolsSet" name="Auto::org.eclipse.ui.externaltools.ExternalToolsSet"/>
+ <rootContext xmi:id="_W0DyiOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.NavigateActionSet" name="Auto::org.eclipse.ui.NavigateActionSet"/>
+ <rootContext xmi:id="_W0DyieLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.actionSet.keyBindings" name="Auto::org.eclipse.ui.actionSet.keyBindings"/>
+ <rootContext xmi:id="_W0DyiuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.WorkingSetModificationActionSet" name="Auto::org.eclipse.ui.WorkingSetModificationActionSet"/>
+ <rootContext xmi:id="_W0Dyi-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.WorkingSetActionSet" name="Auto::org.eclipse.ui.WorkingSetActionSet"/>
+ <rootContext xmi:id="_W0DyjOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.actionSet.openFiles" name="Auto::org.eclipse.ui.actionSet.openFiles"/>
+ <rootContext xmi:id="_W0DyjeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.actionSet.presentation" name="Auto::org.eclipse.ui.edit.text.actionSet.presentation"/>
+ <rootContext xmi:id="_RAPCMKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xsd.ui.editor.designView" name="XSD Editor Design View" description="XSD Editor Design View"/>
+ <rootContext xmi:id="_RAPpRaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xsd.ui.editor.sourceView" name="XSD Editor Source View" description="XSD Editor Source View"/>
+ <rootContext xmi:id="_RWipYKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.actionSet" name="Auto::org.eclipse.mylyn.context.ui.actionSet"/>
+ <rootContext xmi:id="_RWjQcKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.java.actionSet" name="Auto::org.eclipse.mylyn.java.actionSet"/>
+ <rootContext xmi:id="_RWjQcqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.java.actionSet.browsing" name="Auto::org.eclipse.mylyn.java.actionSet.browsing"/>
+ <rootContext xmi:id="_RWj3gKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.doc.actionSet" name="Auto::org.eclipse.mylyn.doc.actionSet"/>
+ <rootContext xmi:id="_RWj3gqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.navigation" name="Auto::org.eclipse.mylyn.tasks.ui.navigation"/>
+ <rootContext xmi:id="_RWkekKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.navigation.additions" name="Auto::org.eclipse.mylyn.tasks.ui.navigation.additions"/>
+ <rootContext xmi:id="_RWkekqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.ui.actionset" name="Auto::org.eclipse.wb.core.ui.actionset"/>
+ <descriptors xmi:id="_W0DyjuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.ui.compatibility.editor" allowMultiple="true" category="org.eclipse.e4.primaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor">
+ <tags>Editor</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyj-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.views.AntView" label="Ant" iconURI="platform:/plugin/org.eclipse.ant.ui/icons/full/eview16/ant_view.png" tooltip="" category="Ant" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Ant</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DykOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.DebugView" label="Debug" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/debug_view.png" tooltip="" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DykeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.BreakpointView" label="Breakpoints" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DykuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.VariableView" label="Variables" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/variable_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyk-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ExpressionView" label="Expressions" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DylOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.RegisterView" label="Registers" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/register_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyleLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.ModuleView" label="Modules" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/module_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyluLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.MemoryView" label="Memory" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/memory_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyl-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesView" label="Git Repositories" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/repo_rep.gif" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Git</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DymOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.StagingView" label="Git Staging" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/staging.png" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Git</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DymeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.InteractiveRebaseView" label="Git Interactive Rebase" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/rebase_interactive.gif" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Git</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DymuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.CompareTreeView" label="Git Tree Compare" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/obj16/gitrepository.gif" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Git</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dym-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.ReflogView" label="Git Reflog" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/reflog.gif" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Git</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DynOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.help.ui.HelpView" label="Help" iconURI="platform:/plugin/org.eclipse.help.ui/icons/view16/help_view.gif" tooltip="" category="Help" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Help</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyneLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.DisplayView" label="Display" iconURI="platform:/plugin/org.eclipse.jdt.debug.ui/icons/full/etool16/disp_sbook.gif" tooltip="" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Debug</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DynuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.ResultView" label="JUnit" iconURI="platform:/plugin/org.eclipse.jdt.junit/icons/full/eview16/junit.gif" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyn-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackageExplorer" label="Package Explorer" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/package.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyoOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.TypeHierarchy" label="Type Hierarchy" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/class_hi.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyoeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.ProjectsView" label="Projects" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/projects.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java Browsing</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyouLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.PackagesView" label="Packages" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/packages.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java Browsing</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyo-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.TypesView" label="Types" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/types.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java Browsing</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DypOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.MembersView" label="Members" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/members.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java Browsing</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DypeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.callhierarchy.view" label="Call Hierarchy" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/call_hierarchy.png" tooltip="" allowMultiple="true" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DypuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.texteditor.TemplatesView" label="Templates" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/templates.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyp-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.SourceView" label="Declaration" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/source.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyqOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavadocView" label="Javadoc" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/javadoc.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Java</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyqeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.api.tools.ui.views.apitooling.views.apitoolingview" label="API Tools" iconURI="platform:/plugin/org.eclipse.pde.api.tools.ui/icons/full/obj16/api_tools.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:API Tools</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyquLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.runtime.RegistryBrowser" label="Plug-in Registry" iconURI="platform:/plugin/org.eclipse.pde.runtime/icons/eview16/registry.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Plug-in Development</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyq-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.PluginsView" label="Plug-ins" iconURI="platform:/plugin/org.eclipse.pde.ui/icons/eview16/plugin_depend.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Plug-in Development</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyrOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.DependenciesView" label="Plug-in Dependencies" iconURI="platform:/plugin/org.eclipse.pde.ui/icons/obj16/req_plugins_obj.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Plug-in Development</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyreLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.TargetPlatformState" label="Target Platform State" iconURI="platform:/plugin/org.eclipse.pde.ui/icons/obj16/target_profile_xml_obj.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Plug-in Development</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyruLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.ImageBrowserView" label="Plug-in Image Browser" iconURI="platform:/plugin/org.eclipse.pde.ui/icons/obj16/psearch_obj.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Plug-in Development</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyr-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.SearchResultView" label="Classic Search" iconURI="platform:/plugin/org.eclipse.search/icons/full/eview16/searchres.gif" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DysOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.views.SearchView" label="Search" iconURI="platform:/plugin/org.eclipse.search/icons/full/eview16/searchres.gif" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyseLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ccvs.ui.RepositoriesView" label="CVS Repositories" iconURI="platform:/plugin/org.eclipse.team.cvs.ui/icons/full/eview16/repo_rep.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:CVS</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DysuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ccvs.ui.EditorsView" label="CVS Editors" iconURI="platform:/plugin/org.eclipse.team.cvs.ui/icons/full/eview16/rep_editors_view.gif" category="org.eclipse.e4.secondaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:CVS</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dys-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.sync.views.SynchronizeView" label="Synchronize" iconURI="platform:/plugin/org.eclipse.team.ui/icons/full/eview16/synch_synch.gif" tooltip="" allowMultiple="true" category="Team" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Team</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DytOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ui.GenericHistoryView" label="History" iconURI="platform:/plugin/org.eclipse.team.ui/icons/full/eview16/history_view.gif" tooltip="" allowMultiple="true" category="Team" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Team</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyteLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.internal.introview" label="Welcome" iconURI="platform:/plugin/org.eclipse.ui/icons/full/eview16/defaultview_misc.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DytuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.browser.view" label="Internal Web Browser" iconURI="platform:/plugin/org.eclipse.ui.browser/icons/obj16/internal_browser.gif" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyt-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="Cheat Sheets" iconURI="platform:/plugin/org.eclipse.ui.cheatsheets/icons/view16/cheatsheet_view.gif" tooltip="" category="Help" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Help</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyuOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.console.ConsoleView" label="Console" iconURI="platform:/plugin/org.eclipse.ui.console/icons/full/cview16/console_view.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyueLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProgressView" label="Progress" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/pview.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyuuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ResourceNavigator" label="Navigator" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyu-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.BookmarkView" label="Bookmarks" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyvOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.TaskList" label="Tasks" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyveLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ProblemView" label="Problems" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyvuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.AllMarkersView" label="Markers" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0Dyv-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer" iconURI="platform:/plugin/org.eclipse.ui.navigator.resources/icons/full/eview16/resource_persp.gif" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DywOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.PropertySheet" label="Properties" iconURI="platform:/plugin/org.eclipse.ui.views/icons/full/eview16/prop_ps.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DyweLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.ContentOutline" label="Outline" iconURI="platform:/plugin/org.eclipse.ui.views/icons/full/eview16/outline_co.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_W0DywuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.runtime.LogView" label="Error Log" iconURI="platform:/plugin/org.eclipse.ui.views.log/icons/eview16/error_log.gif" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_REkvoKM1EeaKb6tuSbNsJA" elementId="org.eclipse.gef.ui.palette_view" label="Palette" iconURI="platform:/plugin/org.eclipse.gef/icons/palette_view.gif" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_RE0AMKM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.core.views.MavenRepositoryView" label="Maven Repositories" iconURI="platform:/plugin/org.eclipse.m2e.core.ui/icons/maven_indexes.gif" tooltip="" category="Maven" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Maven</tags>
+ </descriptors>
+ <descriptors xmi:id="_RE3qkKM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.core.views.MavenBuild" label="Maven Workspace Build" iconURI="platform:/plugin/org.eclipse.ui/icons/full/eview16/defaultview_misc.png" tooltip="" category="Maven" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Maven</tags>
+ </descriptors>
+ <descriptors xmi:id="_RE44sKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.navigator.builds" label="Builds" iconURI="platform:/plugin/org.eclipse.mylyn.builds.ui/icons/eview16/build-view.png" tooltip="" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Mylyn</tags>
+ </descriptors>
+ <descriptors xmi:id="_RE6t4KM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories" label="Team Repositories" iconURI="platform:/plugin/org.eclipse.mylyn.commons.repositories.ui/icons/eview16/repositories.gif" tooltip="" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Mylyn</tags>
+ </descriptors>
+ <descriptors xmi:id="_RE78AKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" label="Task List" iconURI="platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif" tooltip="" allowMultiple="true" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Mylyn</tags>
+ </descriptors>
+ <descriptors xmi:id="_RE9xMKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.views.repositories" label="Task Repositories" iconURI="platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/eview16/repositories.gif" tooltip="" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Mylyn</tags>
+ </descriptors>
+ <descriptors xmi:id="_RE-_UKM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.p2.ui.RepositoryExplorer" label="Repository Explorer" iconURI="platform:/plugin/org.eclipse.oomph.p2.ui/icons/obj16/repository.gif" tooltip="" category="Oomph" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Oomph</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFBbkKM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.apidocs.rcp.views.apidocs" label="API Docs" iconURI="platform:/plugin/org.eclipse.recommenders.apidocs.rcp/icons/view16/apidocs.png" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Code Recommenders</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFCpsKM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.models.rcp.views.projectCoordinates" label="Project Coordinates" iconURI="platform:/plugin/org.eclipse.recommenders.coordinates.rcp/icons/view16/depinsp.gif" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Code Recommenders</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFD30KM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.models.rcp.views.modelRepositories" label="Model Repositories" iconURI="platform:/plugin/org.eclipse.recommenders.models.rcp/icons/view16/depinsp.gif" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Code Recommenders</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFEe4KM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.models.rcp.views.dependencyOverview" label="Dependency Overview" iconURI="platform:/plugin/org.eclipse.recommenders.models.rcp/icons/view16/depinsp.gif" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Code Recommenders</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFFtAKM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.snipmatch.rcp.views.snippets" label="Snippets" iconURI="platform:/plugin/org.eclipse.recommenders.snipmatch.rcp/icons/view16/snippets.png" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:Code Recommenders</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFLMkKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.StructureView" label="Structure" iconURI="platform:/plugin/org.eclipse.wb.core/icons/structure/properties_view.gif" tooltip="" category="WindowBuilder" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:WindowBuilder</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFO28KM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.PaletteView" label="Palette" iconURI="platform:/plugin/org.eclipse.wb.core/icons/structure/palette.png" tooltip="" category="WindowBuilder" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:WindowBuilder</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFQsIKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" label="Snippets" iconURI="platform:/plugin/org.eclipse.wst.common.snippets/icons/snippets_view.gif" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:General</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFR6QKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.views.annotations.XMLAnnotationsView" label="Documentation" iconURI="platform:/plugin/org.eclipse.wst.xml.ui/icons/full/obj16/comment_obj.gif" tooltip="" category="XML" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:XML</tags>
+ </descriptors>
+ <descriptors xmi:id="_RFTIYKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.contentmodel.view" label="Content Model" iconURI="platform:/plugin/org.eclipse.wst.xml.ui/icons/full/view16/hierarchy.gif" tooltip="" category="XML" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+ <tags>View</tags>
+ <tags>categoryTag:XML</tags>
+ </descriptors>
+ <trimContributions xmi:id="_2r10UF9tEeO-yojH_y4TJA" elementId="org.eclipse.ui.ide.application.trimcontribution.QuickAccess" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" toBeRendered="false" parentId="org.eclipse.ui.main.toolbar" positionInParent="last">
+ <children xsi:type="menu:ToolControl" xmi:id="_76uUAF9tEeO-yojH_y4TJA" elementId="Spacer Glue" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.LayoutModifierToolControl">
+ <tags>glue</tags>
+ <tags>move_after:PerspectiveSpacer</tags>
+ <tags>SHOW_RESTORE_MENU</tags>
+ </children>
+ <children xsi:type="menu:ToolControl" xmi:id="_8tJPcF9tEeO-yojH_y4TJA" elementId="SearchField" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.quickaccess.SearchField">
+ <tags>move_after:Spacer Glue</tags>
+ <tags>HIDEABLE</tags>
+ <tags>SHOW_RESTORE_MENU</tags>
+ </children>
+ <children xsi:type="menu:ToolControl" xmi:id="_9LgmcF9tEeO-yojH_y4TJA" elementId="Search-PS Glue" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.LayoutModifierToolControl">
+ <tags>glue</tags>
+ <tags>move_after:SearchField</tags>
+ <tags>SHOW_RESTORE_MENU</tags>
+ </children>
+ </trimContributions>
+ <commands xmi:id="_W0FARuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.command.nextpage" commandName="Next Page of Memory" description="Load next page of memory" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAR-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.project" commandName="Implementors in Project" description="Search for implementors of the selected interface in the enclosing project" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FASOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.removeTrailingWhitespace" commandName="Remove Trailing Whitespace" description="Removes the trailing whitespace of each line" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FASeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.GenerateDiff" commandName="Create Patch" description="Compare your workspace contents with the server and generate a diff file that can be used as a patch file." category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FASuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences" commandName="Toggle Mark Occurrences" description="Toggles mark occurrences in Java editors" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAS-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.runtime.spy.commands.spyCommand" commandName="Plug-in Selection Spy" description="Show the Plug-in Spy" category="_W0GOZOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FATOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.AllInstances" commandName="All Instances" description="View all instances of the selected type loaded in the target VM" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FATeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.showChangeRulerInformation" commandName="Show Quick Diff Ruler Tooltip" description="Displays quick diff or revision information for the caret line in a focused hover" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FATuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.use.supertype" commandName="Use Supertype Where Possible" description="Change occurrences of a type to use a supertype instead" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAT-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewClone" commandName="Clone a Git Repository" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAUOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.textStart" commandName="Select Text Start" description="Select to the beginning of the text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAUeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.cheatsheets.openCheatSheetURL" commandName="Open Cheat Sheet from URL" description="Open a Cheat Sheet from file at a specified URL." category="_W0GOa-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FAUuLhEeWHh-AP9QZrlQ" elementId="cheatSheetId" name="Identifier" optional="false"/>
+ <parameters xmi:id="_W0FAU-LhEeWHh-AP9QZrlQ" elementId="name" name="Name" optional="false"/>
+ <parameters xmi:id="_W0FAVOLhEeWHh-AP9QZrlQ" elementId="url" name="URL" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FAVeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewRefresh" commandName="Refresh" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAVuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.navigate.open.type.in.hierarchy" commandName="Open Type in Hierarchy" description="Open a type in the type hierarchy view" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAV-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavaBrowsingPerspective" commandName="Java Browsing" description="Show the Java Browsing perspective" category="_W0GOWuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAWOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.buildAll" commandName="Build All" description="Build all projects" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAWeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.lockToolBar" commandName="Lock the Toolbars" description="Lock the Toolbars" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAWuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.expandAll" commandName="Expand All" description="Expand the current tree" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAW-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.import" commandName="Import" description="Import" category="_W0GOZuLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FAXOLhEeWHh-AP9QZrlQ" elementId="importWizardId" name="Import Wizard"/>
+ </commands>
+ <commands xmi:id="_W0FAXeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.lineEnd" commandName="Select Line End" description="Select to the end of the line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAXuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.helpSearch" commandName="Help Search" description="Open the help search" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAX-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.CompareWithHead" commandName="Compare with HEAD Revision" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAYOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.importFromRepository" commandName="Import Plug-in from a Repository" description="Imports a plug-in from a source repository" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAYeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.smartEnterInverse" commandName="Insert Line Above Current Line" description="Adds a new line above the current line" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAYuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.externalTools.commands.OpenExternalToolsConfigurations" commandName="External Tools..." description="Open external tools launch configuration dialog" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAY-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.windowEnd" commandName="Window End" description="Go to the end of the window" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAZOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.update" commandName="Update" description="Update resources with new content from the repository" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAZeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ui.TeamSynchronizingPerspective" commandName="Team Synchronizing" description="Open the Team Synchronizing Perspective" category="_W0GOWuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAZuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.help.ui.indexcommand" commandName="Index" description="Show Keyword Index" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAZ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.StepOver" commandName="Step Over" description="Step over" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAaOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.renameInFile" commandName="Rename In File" description="Renames all references within the same buildfile" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAaeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewOpenInEditor" commandName="Open in Editor" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAauLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.RenameBranch" commandName="Rename Branch..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAa-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.surround.with.quickMenu" commandName="Surround With Quick Menu" description="Shows the Surround With quick menu" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAbOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.addMemoryMonitor" commandName="Add Memory Block" description="Add memory block" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAbeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewRebase" commandName="Rebase" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAbuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.revertToSaved" commandName="Revert to Saved" description="Revert to the last saved state" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAb-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Rebase" commandName="Rebase" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAcOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.pinEditor" commandName="Pin Editor" description="Pin the current editor" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAceLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.encapsulateField.assist" commandName="Quick Assist - Create getter/setter for field" description="Invokes quick assist and selects 'Create getter/setter for field'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAcuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.implement.occurrences" commandName="Search Implement Occurrences in File" description="Search for implement occurrences of a selected type" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAc-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.Inspect" commandName="Inspect" description="Inspect result of evaluating selected text" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAdOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.toggle.comment" commandName="Toggle Comment" description="Toggle comment the selected lines" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAdeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.add.block.comment" commandName="Add Block Comment" description="Enclose the selection with a block comment" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAduLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.surround.with.try.catch" commandName="Surround with try/catch Block" description="Surround the selected text with a try/catch block" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAd-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.convert.anonymous.to.nested" commandName="Convert Anonymous Class to Nested" description="Convert an anonymous class to a nested class" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAeOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ShowRepositoriesView" commandName="Show Git Repositories View" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAeeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Tag" commandName="Tag" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAeuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.folding.restore" commandName="Reset Structure" description="Resets the folding structure" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAe-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.restartWorkbench" commandName="Restart" description="Restart the workbench" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAfOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.export" commandName="Export" description="Export" category="_W0GOZuLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FAfeLhEeWHh-AP9QZrlQ" elementId="exportWizardId" name="Export Wizard"/>
+ </commands>
+ <commands xmi:id="_W0FAfuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewConfigurePush" commandName="Configure Push..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAf-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu" commandName="Show Occurrences in File Quick Menu" description="Shows the Occurrences in File quick menu" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAgOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.lineDown" commandName="Select Line Down" description="Extend the selection to the next line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAgeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.resetPerspective" commandName="Reset Perspective" description="Reset the current perspective to its default state" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAguLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.PushHeadToGerrit" commandName="Push Current Head to Gerrit" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAg-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ltk.ui.refactoring.commands.renameResource" commandName="Rename Resource" description="Rename the selected resource and notify LTK participants." category="_W0GObuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAhOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.showContextMenu" commandName="Show Context Menu" description="Show the context menu" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAheLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.stash.drop" commandName="Delete Stashed Commit..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAhuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.searchTargetRepositories" commandName="Add Artifact to Target Platform" description="Add an artifact to your target platform" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FAh-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.searchTargetRepositories.term" name="The initial search pattern for the artifact search dialog"/>
+ </commands>
+ <commands xmi:id="_W0FAiOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.savePerspective" commandName="Save Perspective As" description="Save the current perspective" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAieLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.ConfigureUpstreamPush" commandName="Configure Upstream Push" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAiuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.showInformation" commandName="Show Tooltip Description" description="Displays information for the current caret location in a focused hover" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAi-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.markCompleted" commandName="Mark Completed" description="Mark the selected tasks as completed" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAjOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ConfigureFetch" commandName="Configure Upstream Fetch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAjeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.nextMemoryBlock" commandName="Next Memory Monitor" description="Show renderings from next memory monitor." category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAjuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.toggleOverwrite" commandName="Toggle Overwrite" description="Toggle overwrite mode" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAj-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.textEnd" commandName="Text End" description="Go to the end of the text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAkOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.specific_content_assist.command" commandName="Content Assist" description="A parameterizable command that invokes content assist with a single completion proposal category" category="_W0GOY-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FAkeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.specific_content_assist.category_id" name="type" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FAkuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.copy.qualified.name" commandName="Copy Qualified Name" description="Copy a fully qualified name to the system clipboard" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAk-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.project" commandName="Write Access in Project" description="Search for write references to the selected element in the enclosing project" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAlOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.showKeyAssist" commandName="Show Key Assist" description="Show the key assist dialog" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAleLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.delete" commandName="Delete" description="Delete the selection" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAluLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.saveAs" commandName="Save As" description="Save the current contents to another location" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAl-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewChangeCredentials" commandName="Change Credentials" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAmOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.surround.with.try.multicatch" commandName="Surround with try/multi-catch Block" description="Surround the selected text with a try/multi-catch block" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAmeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.performTextSearchWorkspace" commandName="Find Text in Workspace" description="Searches the files in the workspace for specific text." category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAmuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.working.set" commandName="Implementors in Working Set" description="Search for implementors of the selected interface in a working set" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAm-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavaPerspective" commandName="Java" description="Show the Java perspective" category="_W0GOWuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAnOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.openEditorDropDown" commandName="Quick Switch Editor" description="Open the editor drop down list" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAneLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CreateTag" commandName="Create Tag..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAnuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.ProfileLast" commandName="Profile" description="Launch in profile mode" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAn-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.changeToStatic" commandName="Quick Fix - Change to static access" description="Invokes quick assist and selects 'Change to static access'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAoOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.override.methods" commandName="Override/Implement Methods" description="Override or implement methods from super types" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAoeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.workspace" commandName="References in Workspace" description="Search for references to the selected element in the workspace" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAouLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.performTextSearchFile" commandName="Find Text in File" description="Searches the files in the file for specific text." category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAo-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewPaste" commandName="Paste Repository Path or URI" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FApOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.paste" commandName="Paste" description="Paste from the clipboard" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FApeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.convertAnonymousToLocal.assist" commandName="Quick Assist - Convert anonymous to local class" description="Invokes quick assist and selects 'Convert anonymous to local class'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FApuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.EquinoxLaunchShortcut.debug" commandName="Debug OSGi Framework" description="Debug OSGi Framework" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAp-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.previous" commandName="Previous" description="Navigate to the previous item" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAqOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.source.quickMenu" commandName="Show Source Quick Menu" description="Shows the source quick menu" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAqeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Ignore" commandName="Ignore" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAquLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewCopyPath" commandName="Copy Path to Clipboard" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FAq-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.toggleBreadcrumb" commandName="Toggle Java Editor Breadcrumb" description="Toggle the Java editor breadcrumb" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FArOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.open.call.hierarchy" commandName="Open Call Hierarchy" description="Open a call hierarchy on the selected element" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnAOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.RemoveFromIndex" commandName="Remove from Git Index" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnAeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.extractConstant.assist" commandName="Quick Assist - Extract constant" description="Invokes quick assist and selects 'Extract constant'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnAuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.lineUp" commandName="Line Up" description="Go up one line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnA-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.newQuickMenu" commandName="New menu" description="Open the New menu" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnBOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.deleteNext" commandName="Delete Next" description="Delete the next character" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnBeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.deleteNextWord" commandName="Delete Next Word" description="Delete the next word" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnBuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.working.set" commandName="Write Access in Working Set" description="Search for write references to the selected element in a working set" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnB-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.undo" commandName="Undo" description="Undo the last operation" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnCOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.back" commandName="Back" description="Navigate back" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnCeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.DebugLast" commandName="Debug" description="Launch in debug mode" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnCuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.ToggleLineBreakpoint" commandName="Toggle Line Breakpoint" description="Creates or removes a line breakpoint" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnC-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editors.lineNumberToggle" commandName="Show Line Numbers" description="Toggle display of line numbers" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnDOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.ToggleStepFilters" commandName="Use Step Filters" description="Toggles enablement of debug step filters" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnDeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesLinkWithSelection" commandName="Link with Selection" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnDuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.workspace" commandName="Read Access in Workspace" description="Search for read references to the selected element in the workspace" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnD-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.renameInFile.assist" commandName="Quick Assist - Rename in file" description="Invokes quick assist and selects 'Rename in file'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnEOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.newEditor" commandName="New Editor" description="Open another editor on the active editor's input" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnEeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Fetch" commandName="Fetch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnEuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.org.eclipse.egit.ui.AbortRebase" commandName="Abort Rebase" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnE-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.SetQuickdiffBaseline" commandName="Set quickdiff baseline" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnFOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.wordPrevious" commandName="Previous Word" description="Go to the previous word" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnFeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.ShowBlame" commandName="Show Annotations" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnFuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewDelete" commandName="Delete Repository" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnF-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.recenter" commandName="Recenter" description="Recenter the window based on the cursor" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnGOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.installationDialog" commandName="Installation Information" description="Open the installation dialog" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnGeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Pull" commandName="Pull" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnGuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.CompareWithIndex" commandName="Compare with Git Index" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnG-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.shiftRight" commandName="Shift Right" description="Shift a block of text to the right" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnHOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.tag" commandName="Tag as Version" description="Tag the resources with a CVS version tag" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnHeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.refresh" commandName="Refresh" description="Refresh the selected items" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnHuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.Merge" commandName="Merge" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnH-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.add.unimplemented.constructors" commandName="Generate Constructors from Superclass" description="Evaluate and add constructors from superclass" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnIOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.working.set" commandName="References in Working Set" description="Search for references to the selected element in a working set" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnIeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.performTextSearchWorkingSet" commandName="Find Text in Working Set" description="Searches the files in the working set for specific text." category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnIuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.delete.line.to.end" commandName="Delete to End of Line" description="Delete to the end of a line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnI-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CreateBranch" commandName="Create Branch" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnJOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.move.element" commandName="Move - Refactoring " description="Move the selected element to a new location" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnJeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.nextEditor" commandName="Next Editor" description="Switch to the next editor" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnJuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.factory" commandName="Introduce Factory" description="Introduce a factory method to encapsulate invocation of the selected constructor" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnJ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ShowBlame" commandName="Show Annotations" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnKOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.forward" commandName="Forward" description="Navigate forward" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnKeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.pageUp" commandName="Page Up" description="Go up one page" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnKuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.updateSwitch" commandName="Switch to Another Branch or Version" description="Switch to Another Branch or Version" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnK-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.closeAllSaved" commandName="Close All Saved" description="Close all saved editors" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnLOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.replace.invocations" commandName="Replace Invocations" description="Replace invocations of the selected method" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnLeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.openManifest" commandName="Open Manifest" description="Open the plug-in manifest" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnLuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.OpenRunConfigurations" commandName="Run..." description="Open run launch configuration dialog" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnL-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.AssumeUnchanged" commandName="Assume Unchanged" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnMOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.commands.showElementInTypeHierarchyView" commandName="Show Java Element Type Hierarchy" description="Show a Java element in the Type Hierarchy view" category="_W0GObeLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FnMeLhEeWHh-AP9QZrlQ" elementId="elementRef" name="Java element reference" typeId="org.eclipse.jdt.ui.commands.javaElementReference" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FnMuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.deletePreviousWord" commandName="Delete Previous Word" description="Delete the previous word" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnM-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.deletePrevious" commandName="Delete Previous" description="Delete the previous character" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnNOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.SkipAllBreakpoints" commandName="Skip All Breakpoints" description="Sets whether or not any breakpoint should suspend execution" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnNeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.extractLocalNotReplaceOccurrences.assist" commandName="Quick Assist - Extract local variable" description="Invokes quick assist and selects 'Extract local variable'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnNuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.set.mark" commandName="Set Mark" description="Set the mark" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnN-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ltk.ui.refactor.show.refactoring.history" commandName="Open Refactoring History " description="Opens the refactoring history" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnOOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.RenameBranch" commandName="Rename Branch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnOeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.OpenCommit" commandName="Open Git Commit" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnOuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.epp.mpc.ui.command.showMarketplaceWizard" commandName="Eclipse Marketplace" description="Show the Eclipse Marketplace wizard" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnO-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.AddToIndex" commandName="Add to Git Index" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnPOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.exit" commandName="Exit" description="Exit the application" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnPeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ConfigurePush" commandName="Configure Upstream Push" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnPuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.customizePerspective" commandName="Customize Perspective" description="Customize the current perspective" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnP-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.showInQuickMenu" commandName="Show In..." description="Open the Show In menu" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnQOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.hierarchy" commandName="Read Access in Hierarchy" description="Search for read references of the selected element in its hierarchy" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnQeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.deleteCompleted" commandName="Delete Completed Tasks" description="Delete the tasks marked as completed" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnQuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.DebugPerspective" commandName="Debug" description="Open the debug perspective" category="_W0GOWuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnQ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.change.type" commandName="Generalize Declared Type" description="Change the declaration of a selected variable to a more general type consistent with usage" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnROLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.rename" commandName="Rename" description="Rename the selected item" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnReLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.CheckoutCommand" commandName="Checkout" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnRuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ltk.ui.refactoring.commands.deleteResources" commandName="Delete Resources" description="Delete the selected resources and notify LTK participants." category="_W0GObuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnR-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.next" commandName="Next" description="Navigate to the next item" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnSOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.show.outline" commandName="Quick Outline" description="Show the quick outline for the editor input" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnSeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.buildAutomatically" commandName="Build Automatically" description="Toggle the workspace build automatically function" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnSuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.project" commandName="References in Project" description="Search for references to the selected element in the enclosing project" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnS-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file" commandName="Search All Occurrences in File" description="Search for all occurrences of the selected element in its declaring file" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnTOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.open.implementation" commandName="Open Implementation" description="Opens the Implementations of a method in its hierarchy" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnTeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.workspace" commandName="Declaration in Workspace" description="Search for declarations of the selected element in the workspace" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnTuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.internal.reflog.OpenInCommitViewerCommand" commandName="Open in Commit Viewer" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnT-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.lineUp" commandName="Select Line Up" description="Extend the selection to the previous line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnUOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.project" commandName="Read Access in Project" description="Search for read references to the selected element in the enclosing project" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnUeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ShowHistory" commandName="Show in History" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnUuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.openDependencies" commandName="Open Plug-in Dependencies" description="Opens the plug-in dependencies view for the current plug-in" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnU-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.compareWithOther" commandName="Compare With Other Resource" description="Compare resources, clipboard contents or editors" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnVOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.replaceWithTag" commandName="Replace With Another Branch or Version" description="Replace with Branch or Version on the CVS Server" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnVeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.junitShortcut.rerunFailedFirst" commandName="Rerun JUnit Test - Failures First" description="Rerun JUnit Test - Failures First" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnVuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.select.last" commandName="Restore Last Selection" description="Restore last selection" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnV-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.browser.openBundleResource" commandName="Open Resource in Browser" description="Opens a bundle resource in the default web browser." category="_W0GOXOLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FnWOLhEeWHh-AP9QZrlQ" elementId="plugin" name="Plugin"/>
+ <parameters xmi:id="_W0FnWeLhEeWHh-AP9QZrlQ" elementId="path" name="Path"/>
+ </commands>
+ <commands xmi:id="_W0FnWuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.stash.apply" commandName="Apply Stashed Changes" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnW-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.ContinueRebase" commandName="Continue Rebase" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnXOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Push" commandName="Push" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnXeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.copyAllLeftToRight" commandName="Copy All from Left to Right" description="Copy All Changes from Left to Right" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnXuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.toggleShowWhitespaceCharacters" commandName="Show Whitespace Characters" description="Shows whitespace characters in current text editor" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnX-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.preferences" commandName="Preferences" description="Open the preferences dialog" category="_W0GOXOLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FnYOLhEeWHh-AP9QZrlQ" elementId="preferencePageId" name="Preference Page"/>
+ </commands>
+ <commands xmi:id="_W0FnYeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.selectAll" commandName="Select All" description="Select all" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnYuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.close" commandName="Close" description="Close the active editor" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnY-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.internal.reflog.CopyCommand" commandName="Copy SHA-1" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnZOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.newWizard" commandName="New" description="Open the New item wizard" category="_W0GOZuLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FnZeLhEeWHh-AP9QZrlQ" elementId="newWizardId" name="New Wizard"/>
+ </commands>
+ <commands xmi:id="_W0FnZuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.help.ui.ignoreMissingPlaceholders" commandName="Do not warn of missing documentation" description="Sets the help preferences to no longer report a warning about the current set of missing documents." category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnZ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.inline" commandName="Inline" description="Inline a constant, local variable or method" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnaOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.tipsAndTricksAction" commandName="Tips and Tricks" description="Open the tips and tricks help page" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnaeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.showHistory" commandName="Show History" description="Show History" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnauLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.copy" commandName="Copy" description="Copy the selection to the clipboard" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fna-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.Revert" commandName="Revert Commit" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnbOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.project" commandName="Declaration in Project" description="Search for declarations of the selected element in the enclosing project" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnbeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewCreateBranch" commandName="Create Branch..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnbuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.RunToLine" commandName="Run to Line" description="Resume and break when execution reaches the current line" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnb-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.openExternalDoc" commandName="Open External Documentation" description="Open the External documentation for the current task in the Ant editor" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FncOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.JavaHierarchyPerspective" commandName="Java Type Hierarchy" description="Show the Java Type Hierarchy perspective" category="_W0GOWuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnceLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.infer.type.arguments" commandName="Infer Generic Type Arguments" description="Infer type arguments for references to generic classes and remove unnecessary casts" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FncuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.copyConfigCommand" commandName="Copy Configuration Data To Clipboard" description="Copies the configuration data (system properties, installed bundles, etc) to the clipboard." category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnc-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.Restart" commandName="Restart" description="Restart a process or debug target without terminating and re-launching" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FndOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.indent" commandName="Correct Indentation" description="Corrects the indentation of the selected lines" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FndeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.exception.occurrences" commandName="Search Exception Occurrences in File" description="Search for exception occurrences of a selected exception type" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnduLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.part.previousPage" commandName="Previous Page" description="Switch to the previous page" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnd-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.openResource" commandName="Open Resource" description="Open an editor on a particular resource" category="_W0GObeLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FneOLhEeWHh-AP9QZrlQ" elementId="filePath" name="File Path" typeId="org.eclipse.ui.ide.resourcePath"/>
+ </commands>
+ <commands xmi:id="_W0FneeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Synchronize" commandName="Synchronize" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FneuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.InstanceCount" commandName="Instance Count" description="View the instance count of the selected type loaded in the target VM" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fne-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy" commandName="Quick Hierarchy" description="Show the quick hierarchy of the selected element" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnfOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.helpContents" commandName="Help Contents" description="Open the help contents" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnfeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.qualifyField" commandName="Quick Fix - Qualify field access" description="Invokes quick assist and selects 'Qualify field access'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnfuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.saveAll" commandName="Save All" description="Save all current contents" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnf-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.externalizeStrings" commandName="Externalize Strings in Plug-ins" description="Extract translatable strings from plug-in files" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FngOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.GarbageCollect" commandName="Collect Garbage" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FngeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.assignToLocal.assist" commandName="Quick Assist - Assign to local variable" description="Invokes quick assist and selects 'Assign to local variable'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnguLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.hierarchy" commandName="References in Hierarchy" description="Search for references of the selected element in its hierarchy" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fng-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.runtimeWorkbenchShortcut.debug" commandName="Debug Eclipse Application" description="Debug Eclipse Application" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnhOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.textEnd" commandName="Select Text End" description="Select to the end of the text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnheLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.delete.line" commandName="Delete Line" description="Delete a line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnhuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.showViewMenu" commandName="Show View Menu" description="Show the view menu" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnh-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.PushBranch" commandName="Push Branch..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FniOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.folding.collapseComments" commandName="Collapse Comments" description="Collapse all comments" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnieLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.findIncremental" commandName="Incremental Find" description="Incremental find" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FniuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.performTextSearchProject" commandName="Find Text in Project" description="Searches the files in the project for specific text." category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fni-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.edit.text.format" commandName="Format Source" description="Format a PDE Source Page" category="_W0GOaeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnjOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.previousEditor" commandName="Previous Editor" description="Switch to the previous editor" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnjeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.DeleteBranch" commandName="Delete Branch..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnjuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.commands.openElementInEditor" commandName="Open Java Element" description="Open a Java element in its editor" category="_W0GObeLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0Fnj-LhEeWHh-AP9QZrlQ" elementId="elementRef" name="Java element reference" typeId="org.eclipse.jdt.ui.commands.javaElementReference" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FnkOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.maximizePart" commandName="Maximize Active View or Editor" description="Toggles maximize/restore state of active view or editor" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnkeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.configureColumns" commandName="Configure Columns..." description="Configure the columns in the markers view" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnkuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.AddClassPrepareBreakpoint" commandName="Add Class Load Breakpoint" description="Add a class load breakpoint" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnk-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editors.revisions.id.toggle" commandName="Toggle Revision Id Display" description="Toggles the display of the revision id" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnlOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.folding.collapse_all" commandName="Collapse All" description="Collapses all folded regions" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnleLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.commit.CherryPick" commandName="Cherry Pick" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnluLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.EquinoxLaunchShortcut.run" commandName="Run OSGi Framework" description="Run OSGi Framework" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnl-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.perspectives.showPerspective" commandName="Show Perspective" description="Show a particular perspective" category="_W0GOWuLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FnmOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.perspectives.showPerspective.perspectiveId" name="Parameter"/>
+ <parameters xmi:id="_W0FnmeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.perspectives.showPerspective.newWindow" name="In New Window"/>
+ </commands>
+ <commands xmi:id="_W0FnmuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.eof" commandName="EOF" description="Send end of file" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnm-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.goto.matching.bracket" commandName="Go to Matching Bracket" description="Moves the cursor to the matching bracket" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnnOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editors.quickdiff.revert" commandName="Revert Lines" description="Revert the current selection, block or deleted lines" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnneLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.previousSubTab" commandName="Previous Sub-Tab" description="Switch to the previous sub-tab" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnnuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.method.exits" commandName="Search Method Exit Occurrences in File" description="Search for method exit occurrences of a selected return type" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnn-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.smartEnter" commandName="Insert Line Below Current Line" description="Adds a new line below the current line" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnoOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.pageDown" commandName="Page Down" description="Go down one page" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnoeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Reset" commandName="Reset..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnouLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.windowStart" commandName="Window Start" description="Go to the start of the window" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fno-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.goInto" commandName="Go Into" description="Navigate into the selected item" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnpOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.contentAssist.proposals" commandName="Content Assist" description="Content Assist" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnpeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.folding.expand_all" commandName="Expand All" description="Expands all folded regions" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnpuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.nextTab" commandName="Next Tab" description="Switch to the next tab" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnp-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Discard" commandName="Replace with File in Git Index" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnqOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.OpenMarkersView" commandName="Open Another" description="Open another view" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnqeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.Terminate" commandName="Terminate" description="Terminate" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnquLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.createAntBuildFile" commandName="Create Ant Build File" description="Creates an Ant build file for the current project" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnq-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.NoAssumeUnchanged" commandName="No Assume Unchanged" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnrOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.runtime.spy.commands.menuSpyCommand" commandName="Plug-in Menu Spy" description="Show the Plug-in Spy" category="_W0GOZOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnreLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.windowEnd" commandName="Select Window End" description="Select to the end of the window" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnruLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.command.gotoaddress" commandName="Go to Address" description="Go to Address" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnr-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.switchToEditor" commandName="Switch to Editor" description="Switch to an editor" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnsOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.Suspend" commandName="Suspend" description="Suspend" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnseLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.command.shareProject" commandName="Share with Git" description="Share the project using Git" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FnsuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.command.projectNameParameter" name="Project" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0Fns-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.previousView" commandName="Previous View" description="Switch to the previous view" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FntOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.hierarchy" commandName="Write Access in Hierarchy" description="Search for write references of the selected element in its hierarchy" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnteLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.linkWithEditor" commandName="Toggle Link with Editor " description="Toggles linking of a view's selection with the active editor's selection" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FntuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.closeRendering" commandName="Close Rendering" description="Close the selected rendering." category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnt-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.commands.showElementInPackageView" commandName="Show Java Element in Package Explorer" description="Select Java element in the Package Explorer view" category="_W0GObeLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FnuOLhEeWHh-AP9QZrlQ" elementId="elementRef" name="Java element reference" typeId="org.eclipse.jdt.ui.commands.javaElementReference" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FnueLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ui.synchronizeAll" commandName="Synchronize..." description="Synchronize resources in the workspace with another location" category="_W0GOauLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnuuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.displayHelp" commandName="Display Help" description="Display a Help topic" category="_W0GOa-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0Fnu-LhEeWHh-AP9QZrlQ" elementId="href" name="Help topic href"/>
+ </commands>
+ <commands xmi:id="_W0FnvOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.navigate.open.type" commandName="Open Type" description="Open a type in a Java editor" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnveLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.previousPerspective" commandName="Previous Perspective" description="Switch to the previous perspective" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnvuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.junitShortcut.debug" commandName="Debug JUnit Test" description="Debug JUnit Test" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnv-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Branch" commandName="Branch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnwOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.closeProject" commandName="Close Project" description="Close the selected project" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnweLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Disconnect" commandName="Disconnect" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnwuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.assignParamToField.assist" commandName="Quick Assist - Assign parameter to field" description="Invokes quick assist and selects 'Assign parameter to field'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnw-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.commitAll" commandName="Commit All Outgoing Changes" description="Commit all outgoing changes to the repository" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnxOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.cvsPerspective" commandName="CVS Repository Exploring" description="Open the CVS Repository Exploring Perspective" category="_W0GOWuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnxeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.FetchGerritChange" commandName="Fetch From Gerrit" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnxuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.folding.expand" commandName="Expand" description="Expands the folded region at the current selection" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnx-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.junitShortcut.rerunLast" commandName="Rerun JUnit Test" description="Rerun JUnit Test" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnyOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewRemove" commandName="Remove Repository" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnyeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.PushTags" commandName="Push Tags..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnyuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.navigate.java.open.structure" commandName="Open Structure" description="Show the structure of the selected element" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fny-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.lineStart" commandName="Line Start" description="Go to the start of the line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnzOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.gotoTest" commandName="Referring Tests" description="Referring Tests" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnzeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.help.ui.closeTray" commandName="Close User Assistance Tray" description="Close the user assistance tray containing context help information and cheat sheets." category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FnzuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.properties" commandName="Properties" description="Display the properties of the selected item's project " category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fnz-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.toggleBlockSelectionMode" commandName="Toggle Block Selection" description="Toggle block / column selection in the current text editor" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn0OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.save" commandName="Save" description="Save the current contents" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn0eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CompareWithWorkingTree" commandName="Compare with Working Directory" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn0uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.checkout" commandName="Checkout from CVS" description="Checkout from CVS" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn0-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.open.declaration.command" commandName="Open Declaration" description="Opens the Ant editor on the referenced element" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn1OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.closePart" commandName="Close Part" description="Close the active workbench part" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn1eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.ToggleWatchpoint" commandName="Toggle Watchpoint" description="Creates or removes a watchpoint" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn1uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewConfigureBranch" commandName="Configure Branch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn1-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.compareWithRemote" commandName="Compare With Latest from Repository" description="Compare with Content on CVS Server" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn2OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.OpenInCommitViewerCommand" commandName="Open in Commit Viewer" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn2eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.open.type.hierarchy" commandName="Open Type Hierarchy" description="Open a type hierarchy on the selected element" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn2uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ltk.ui.refactor.apply.refactoring.script" commandName="Apply Script" description="Perform refactorings from a refactoring script on the local workspace" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn2-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals" commandName="Quick Fix" description="Suggest possible fixes for a problem" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn3OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editors.revisions.rendering.cycle" commandName="Cycle Revision Coloring Mode" description="Cycles through the available coloring modes for revisions" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn3eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.Watch" commandName="Watch" description="Create new watch expression" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn3uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.showRulerContextMenu" commandName="Show Ruler Context Menu" description="Show the context menu for the ruler" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn3-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.minimizePart" commandName="Minimize Active View or Editor" description="Minimizes the active view or editor" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn4OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.ToggleMethodBreakpoint" commandName="Toggle Method Breakpoint" description="Creates or removes a method breakpoint" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn4eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Untrack" commandName="Untrack" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn4uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.part.nextPage" commandName="Next Page" description="Switch to the next page" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn4-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ReplaceWithRef" commandName="Replace with branch, tag, or reference" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn5OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.delete.line.to.beginning" commandName="Delete to Beginning of Line" description="Delete to the beginning of a line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn5eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.backwardHistory" commandName="Backward History" description="Move backward in the editor navigation history" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn5uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.swap.mark" commandName="Swap Mark" description="Swap the mark with the cursor position" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn5-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.goto.previous.member" commandName="Go to Previous Member" description="Move the caret to the previous member of the compilation unit" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn6OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.replaceWithRevision" commandName="Replace With Revision" description="Replace with Revision on CVS Server" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn6eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.buildProject" commandName="Build Project" description="Build the selected project" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn6uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.antShortcut.run" commandName="Run Ant Build" description="Run Ant Build" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn6-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.compareWithRevision" commandName="Compare With Revision" description="Compare with Revision on CVS Server" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn7OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.showSystemMenu" commandName="Show System Menu" description="Show the system menu" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn7eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.select.enclosing" commandName="Select Enclosing Element" description="Expand selection to include enclosing element" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn7uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.lowerCase" commandName="To Lower Case" description="Changes the selection to lower case" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn7-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.self.encapsulate.field" commandName="Encapsulate Field" description="Create getting and setting methods for the field and use only those to access the field" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn8OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.pageDown" commandName="Select Page Down" description="Select to the bottom of the page" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn8eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.newRendering" commandName="New Rendering" description="Add a new rendering." category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn8uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.equinox.p2.ui.discovery.commands.ShowBundleCatalog" commandName="Show Bundle Catalog" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0Fn8-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.equinox.p2.ui.discovery.commands.DirectoryParameter" name="Directory URL"/>
+ <parameters xmi:id="_W0Fn9OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.equinox.p2.ui.discovery.commands.TagsParameter" name="Tags"/>
+ </commands>
+ <commands xmi:id="_W0Fn9eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.MergeTool" commandName="Merge Tool" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn9uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.SimplePush" commandName="Push to Upstream" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn9-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.open.hyperlink" commandName="Open Hyperlink" description="Opens the hyperlink at the caret location or opens a chooser if more than one hyperlink is available" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn-OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.OpenInTextEditorCommand" commandName="Open in Text Editor" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn-eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.openLocalFile" commandName="Open File..." description="Open a file" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn-uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.selectPreviousChange" commandName="Select Previous Change" description="Select Previous Change" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn--LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly" commandName="Show Selected Element Only" description="Show Selected Element Only" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn_OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.wordPrevious" commandName="Select Previous Word" description="Select the previous word" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn_eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ToggleCoolbarAction" commandName="Toggle Toolbar Visibility" description="Toggles the visibility of the window toolbar" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fn_uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.Reset" commandName="Reset..." category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0Fn_-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.ResetMode" name="Reset mode" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FoAOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.rename.element" commandName="Rename - Refactoring " description="Rename the selected element" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoAeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.addAllPluginsToJavaSearch" commandName="Add All Plug-ins to Java Search" description="Adds all plug-ins in the target platform to java search" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoAuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RebaseInteractiveCurrent" commandName="%RebaseInteractiveCurrentHandler.name" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoA-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.AddExceptionBreakpoint" commandName="Add Java Exception Breakpoint" description="Add a Java exception breakpoint" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoBOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.branch" commandName="Branch" description="Branch" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoBeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CompareVersionsInTree" commandName="Compare in Tree" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoBuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.openProject" commandName="Open Project" description="Open a project" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoB-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.cut" commandName="Cut" description="Cut the selection to the clipboard" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoCOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.moveLineDown" commandName="Move Lines Down" description="Moves the selected lines down" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoCeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.findReplace" commandName="Find and Replace" description="Find and replace text" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoCuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.StepIntoSelection" commandName="Step Into Selection" description="Step into the current selected statement" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoC-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.quickdiff.toggle" commandName="Quick Diff Toggle" description="Toggles quick diff information display on the line number ruler" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoDOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ui.applyPatch" commandName="Apply Patch..." description="Apply a patch to one or more workspace projects." category="_W0GOauLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoDeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.copyLeftToRight" commandName="Copy from Left to Right" description="Copy Current Change from Left to Right" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoDuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ltk.ui.refactoring.commands.moveResources" commandName="Move Resources" description="Move the selected resources and notify LTK participants." category="_W0GObuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoD-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewRenameBranch" commandName="Rename Branch..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoEOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.toggleInsertMode" commandName="Toggle Insert Mode" description="Toggle insert mode" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoEeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.open.editor" commandName="Open Declaration" description="Open an editor on the selected element" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoEuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.generate.constructor.using.fields" commandName="Generate Constructor using Fields" description="Choose fields to initialize and constructor from superclass to call " category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoE-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.line" commandName="Go to Line" description="Go to a specified line of text" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoFOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.nextSubTab" commandName="Next Sub-Tab" description="Switch to the next sub-tab" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoFeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.stash.create" commandName="Stash Changes" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoFuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewRemoveRemote" commandName="Delete Remote" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoF-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.columnPrevious" commandName="Previous Column" description="Go to the previous column" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoGOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar" commandName="Run Last Launched External Tool" description="Runs the last launched external Tool" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoGeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Commit" commandName="Commit..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoGuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.openPluginArtifact" commandName="Open Plug-in Artifact" description="Open a plug-in artifact in the manifest editor" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoG-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.quick.format" commandName="Format Element" description="Format enclosing text element" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoHOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.addBookmark" commandName="Add Bookmark" description="Add a bookmark" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoHeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.lineStart" commandName="Select Line Start" description="Select to the beginning of the line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoHuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CheckoutCommand" commandName="Checkout" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoH-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.cut.line.to.end" commandName="Cut to End of Line" description="Cut to the end of a line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoIOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewAddRepository" commandName="Add a Git Repository" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoIeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.equinox.p2.ui.sdk.update" commandName="Check for Updates" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoIuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.findIncrementalReverse" commandName="Incremental Find Reverse" description="Incremental find reverse" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoI-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.rebuildAll" commandName="Rebuild All" description="Rebuild all projects" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoJOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.activateEditor" commandName="Activate Editor" description="Activate the editor" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoJeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.organize.imports" commandName="Organize Imports" description="Evaluate all required imports and replace the current imports" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoJuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.copyAllRightToLeft" commandName="Copy All from Right to Left" description="Copy All Changes from Right to Left" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoJ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.PushCommit" commandName="Push Commit..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoKOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.generate.javadoc" commandName="Generate Javadoc" description="Generates Javadoc for a selectable set of Java resources" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoKeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.working.set" commandName="Declaration in Working Set" description="Search for declarations of the selected element in a working set" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoKuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.closeUnrelatedProjects" commandName="Close Unrelated Projects" description="Close unrelated projects" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoK-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.lineDown" commandName="Line Down" description="Go down one line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoLOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.ToggleBreakpoint" commandName="Toggle Breakpoint" description="Creates or removes a breakpoint" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoLeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.ignoreWhiteSpace" commandName="Ignore White Space" description="Ignore white space where applicable" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoLuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewConfigureGerritRemote" commandName="Gerrit Configuration..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoL-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.previousTab" commandName="Previous Tab" description="Switch to the previous tab" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoMOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.gotoLastEditPosition" commandName="Last Edit Location" description="Last edit location" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoMeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.SkipRebase" commandName="Skip commit and continue" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoMuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RebaseCurrent" commandName="Rebase" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoM-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.toggleMemoryMonitorsPane" commandName="Toggle Memory Monitors Pane" description="Toggle visibility of the Memory Monitors Pane" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoNOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.ignore" commandName="Add to .cvsignore" description="Ignore the Selected Resources when Synchronizing" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoNeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.copyBuildIdCommand" commandName="Copy Build Id To Clipboard" description="Copies the build id to the clipboard." category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoNuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.dialogs.openInputDialog" commandName="Open Input Dialog" description="Open an Input Dialog" category="_W0GOXuLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FoN-LhEeWHh-AP9QZrlQ" elementId="title" name="Title"/>
+ <parameters xmi:id="_W0FoOOLhEeWHh-AP9QZrlQ" elementId="message" name="Message"/>
+ <parameters xmi:id="_W0FoOeLhEeWHh-AP9QZrlQ" elementId="initialValue" name="Initial Value"/>
+ <parameters xmi:id="_W0FoOuLhEeWHh-AP9QZrlQ" elementId="cancelReturns" name="Return Value on Cancel"/>
+ </commands>
+ <commands xmi:id="_W0FoO-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.ShowVersions" commandName="Open" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FoPOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CompareMode" name="Compare mode"/>
+ </commands>
+ <commands xmi:id="_W0FoPeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.hierarchy" commandName="Declaration in Hierarchy" description="Search for declarations of the selected element in its hierarchy" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoPuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.properties.NewPropertySheetCommand" commandName="Properties" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoP-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.antShortcut.debug" commandName="Debug Ant Build" description="Debug Ant Build" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoQOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.return.continue.targets" commandName="Search break/continue Target Occurrences in File" description="Search for break/continue target occurrences of a selected target name" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoQeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.workspace" commandName="Implementors in Workspace" description="Search for implementors of the selected interface" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoQuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.collapseAll" commandName="Collapse All" description="Collapse the current tree" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoQ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.inlineLocal.assist" commandName="Quick Assist - Inline local variable" description="Invokes quick assist and selects 'Inline local variable'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoROLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.folding.toggle" commandName="Toggle Folding" description="Toggles folding in the current editor" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoReLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.submodule.update" commandName="Update Submodule" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoRuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.move.inner.to.top.level" commandName="Move Type to New File" description="Move Type to New File" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoR-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.commit.Revert" commandName="Revert Commit" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoSOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.comment" commandName="Comment" description="Turn the selected lines into Java comments" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoSeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.addNonNLS" commandName="Quick Fix - Add non-NLS tag" description="Invokes quick assist and selects 'Add non-NLS tag'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoSuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.format" commandName="Format" description="Format the selected text" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoS-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.Display" commandName="Display" description="Display result of evaluating selected text" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoTOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewCreateRepository" commandName="Create a Repository" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoTeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.revert" commandName="Revert" description="Revert to the last saved state" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoTuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.folding.collapseMembers" commandName="Collapse Members" description="Collapse all members" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoT-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.gotoBreadcrumb" commandName="Show In Breadcrumb" description="Shows the Java editor breadcrumb and sets the keyboard focus into it" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoUOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.scroll.lineDown" commandName="Scroll Line Down" description="Scroll down one line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoUeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.clean.up" commandName="Clean Up" description="Solve problems and improve code style on selected resources" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoUuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.redo" commandName="Redo" description="Redo the last operation" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoU-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.StepInto" commandName="Step Into" description="Step into" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoVOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.SimpleFetch" commandName="Fetch from Upstream" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoVeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.commit.Checkout" commandName="Checkout" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoVuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.join.lines" commandName="Join Lines" description="Join lines of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoV-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.scroll.lineUp" commandName="Scroll Line Up" description="Scroll up one line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoWOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.TerminateAndRelaunch" commandName="Terminate and Relaunch" description="Terminate and Relaunch" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoWeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.externalize.strings" commandName="Externalize Strings" description="Finds all strings that are not externalized and moves them into a separate property file" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoWuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.print" commandName="Print" description="Print" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoW-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.forwardHistory" commandName="Forward History" description="Move forward in the editor navigation history" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoXOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.breakpoint.properties" commandName="Java Breakpoint Properties" description="View and edit the properties for a given Java breakpoint" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoXeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.pageUp" commandName="Select Page Up" description="Select to the top of the page" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoXuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.internationalize" commandName="Internationalize Plug-ins" description="Sets up internationalization for a plug-in" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoX-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.add.import" commandName="Add Import" description="Create import statement on selection" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoYOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.CompareWithPrevious" commandName="Compare with Previous Revision" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoYeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.extract.interface" commandName="Extract Interface" description="Extract a set of members into a new interface and try to use the new interface" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoYuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.dynamicHelp" commandName="Dynamic Help" description="Open the dynamic help" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoY-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.commit" commandName="Commit" description="Commit resources to the repository" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoZOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.working.set" commandName="Read Access in Working Set" description="Search for read references to the selected element in a working set" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoZeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.RunLast" commandName="Run" description="Launch in run mode" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoZuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.copyLineUp" commandName="Duplicate Lines" description="Duplicates the selected lines and leaves the selection unchanged" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoZ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.addCast" commandName="Quick Fix - Add cast" description="Invokes quick assist and selects 'Add cast'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoaOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.commit.CreateBranch" commandName="Create Branch..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoaeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.refactor.quickMenu" commandName="Show Refactor Quick Menu" description="Shows the refactor quick menu" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoauLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.removeFromWorkingSet" commandName="Remove From Working Set" description="Removes the selected object from a working set." category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foa-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.javaAppletShortcut.debug" commandName="Debug Java Applet" description="Debug Java Applet" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FobOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.localJavaShortcut.run" commandName="Run Java Application" description="Run Java Application" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FobeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ReplaceWithCommit" commandName="Replace with commit" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FobuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.DeleteBranch" commandName="Delete Branch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fob-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesToggleBranchHierarchy" commandName="Toggle Branch Representation" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FocOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ApplyPatch" commandName="Apply Patch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoceLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.showRulerAnnotationInformation" commandName="Show Ruler Annotation Tooltip" description="Displays annotation information for the caret line in a focused hover" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FocuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.folding.collapse" commandName="Collapse" description="Collapses the folded region at the current selection" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foc-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.navigate.gotopackage" commandName="Go to Package" description="Go to Package" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FodOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.equinox.p2.ui.sdk.install" commandName="Install New Software..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FodeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.junitWorkbenchShortcut.run" commandName="Run JUnit Plug-in Test" description="Run JUnit Plug-in Test" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoduLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.nextView" commandName="Next View" description="Switch to the next view" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fod-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.buildLast" commandName="Repeat Working Set Build" description="Repeat the last working set build" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoeOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.textStart" commandName="Text Start" description="Go to the beginning of the text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoeeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.junit.junitShortcut.run" commandName="Run JUnit Test" description="Run JUnit Test" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoeuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.properties" commandName="Properties" description="Display the properties of the selected item" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foe-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.openSearchDialog" commandName="Open Search Dialog" description="Open the Search dialog" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FofOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.actions.WatchCommand" commandName="Watch" description="Create a watch expression from the current selection and add it to the Expressions view" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FofeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.openWorkspace" commandName="Switch Workspace" description="Open the workspace selection dialog" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FofuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.pull.up" commandName="Pull Up" description="Move members to a superclass" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fof-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.moveLineUp" commandName="Move Lines Up" description="Moves the selected lines up" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FogOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.configureFilters" commandName="Configure Contents..." description="Configure the filters to apply to the markers view" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FogeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.assignToField.assist" commandName="Quick Assist - Assign to field" description="Invokes quick assist and selects 'Assign to field'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoguLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.modify.method.parameters" commandName="Change Method Signature" description="Change method signature includes parameter names and parameter order" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fog-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.copyLineDown" commandName="Copy Lines" description="Duplicates the selected lines and moves the selection to the copy" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FohOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.find.broken.nls.keys" commandName="Find Broken Externalized Strings" description="Finds undefined, duplicate and unused externalized string keys in property files" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoheLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.uncomment" commandName="Uncomment" description="Uncomment the selected Java comment lines" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FohuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations" commandName="Remove Occurrence Annotations" description="Removes the occurrence annotations from the current editor" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foh-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.addBlock.assist" commandName="Quick Assist - Replace statement with block" description="Invokes quick assist and selects 'Replace statement with block'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoiOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.wordNext" commandName="Next Word" description="Go to the next word" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoieLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CherryPick" commandName="Cherry Pick" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoiuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.addLocation" commandName="Add Repository Location" description="Add a new CVS repository location" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foi-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.ConfigureUpstreamFetch" commandName="Configure Upstream Fetch" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FojOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.Merge" commandName="Merge" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FojeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.up" commandName="Up" description="Navigate up one level" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FojuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.parameter" commandName="Introduce Parameter" description="Introduce a new method parameter based on the selected expression" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foj-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.splitJoinVariableDeclaration.assist" commandName="Quick Assist - Split/Join variable declaration" description="Invokes quick assist and selects 'Split/Join variable declaration'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FokOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.ResetQuickdiffBaseline" commandName="Reset quickdiff baseline" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FokeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.ResetQuickdiffBaselineTarget" name="Reset target (HEAD, HEAD^1)" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FokuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.submodule.add" commandName="Add Submodule" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fok-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.hideShowEditors" commandName="Toggle Editor Area Visibility" description="Toggles the visibility of the editor area" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FolOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.closePerspective" commandName="Close Perspective" description="Close the current perspective" category="_W0GOXOLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FoleLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.closePerspective.perspectiveId" name="Perspective Id"/>
+ </commands>
+ <commands xmi:id="_W0FoluLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.rebuildProject" commandName="Rebuild Project" description="Rebuild the selected projects" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fol-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.organizeManifest" commandName="Organize Manifests" description="Cleans up plug-in manifest files" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FomOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.move" commandName="Move..." description="Move the selected item" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FomeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.clear.mark" commandName="Clear Mark" description="Clear the mark" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FomuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.updateAll" commandName="Update All Incoming Changes" description="Update all incoming changes with new content from the repository" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fom-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.generate.tostring" commandName="Generate toString()" description="Generates the toString() method for the type" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FonOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.updateClasspath" commandName="Update Classpath" description="Updates the plug-in classpath from latest settings" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoneLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.ReplaceWithHead" commandName="Replace with HEAD revision" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FonuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.OpenProfileConfigurations" commandName="Profile..." description="Open profile launch configuration dialog" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fon-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.open.external.javadoc" commandName="Open Attached Javadoc" description="Open the attached Javadoc of the selected element in a browser" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FooOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.cheatsheets.openCheatSheet" commandName="Open Cheat Sheet" description="Open a Cheat Sheet." category="_W0GOa-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FooeLhEeWHh-AP9QZrlQ" elementId="cheatSheetId" name="Identifier"/>
+ </commands>
+ <commands xmi:id="_W0FoouLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewOpen" commandName="Open" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foo-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesToggleBranchCommit" commandName="Toggle Latest Branch Commit" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FopOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.contentAssist.contextInformation" commandName="Context Information" description="Show Context Information" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FopeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CompareVersions" commandName="Compare with each other" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FopuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.browser.openBrowser" commandName="Open Browser" description="Opens the default web browser." category="_W0GOXOLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0Fop-LhEeWHh-AP9QZrlQ" elementId="url" name="URL"/>
+ <parameters xmi:id="_W0FoqOLhEeWHh-AP9QZrlQ" elementId="browserId" name="Browser Id"/>
+ <parameters xmi:id="_W0FoqeLhEeWHh-AP9QZrlQ" elementId="name" name="Browser Name"/>
+ <parameters xmi:id="_W0FoquLhEeWHh-AP9QZrlQ" elementId="tooltip" name="Browser Tooltip"/>
+ </commands>
+ <commands xmi:id="_W0Foq-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.generate.hashcode.equals" commandName="Generate hashCode() and equals()" description="Generates hashCode() and equals() methods for the type" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0ForOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.indirection" commandName="Introduce Indirection" description="Introduce an indirection to encapsulate invocations of a selected method" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0ForeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.navigate.gototype" commandName="Go to Type" description="Go to Type" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0ForuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.columnNext" commandName="Select Next Column" description="Select the next column" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0For-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.merge" commandName="Merge" description="Merge" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FosOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.upperCase" commandName="To Upper Case" description="Changes the selection to upper case" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoseLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.localJavaShortcut.debug" commandName="Debug Java Application" description="Debug Java Application" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FosuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.DropToFrame" commandName="Drop to Frame" description="Drop to Frame" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fos-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewNewRemote" commandName="Create Remote..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FotOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.openFileSearchPage" commandName="File Search" description="Open the Search dialog's file search page" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoteLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ui.synchronizeLast" commandName="Repeat last synchronization" description="Repeat the last synchronization" category="_W0GOauLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FotuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.extract.local.variable" commandName="Extract Local Variable" description="Extracts an expression into a new local variable and uses the new local variable" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fot-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.history.CreatePatch" commandName="Create Patch" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FouOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.clean" commandName="Clean..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoueLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.select.previous" commandName="Select Previous Element" description="Expand selection to include previous sibling" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FouuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.columnNext" commandName="Next Column" description="Go to the next column" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fou-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.extract.class" commandName="Extract Class..." description="Extracts fields into a new class" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FovOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.selectWorkingSets" commandName="Select Working Sets" description="Select the working sets that are applicable for this window." category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoveLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.aboutAction" commandName="About" description="Open the about dialog" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FovuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.copyRightToLeft" commandName="Copy from Right to Left" description="Copy Current Change from Right to Left" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fov-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.command.configureTrace" commandName="Configure Git Debug Trace" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FowOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.extract.method" commandName="Extract Method" description="Extract a set of statements or an expression into a new method and use the new method" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoweLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.quickOutline" commandName="Quick Outline" description="Open a quick outline popup dialog for a given editor input" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FowuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.selectNextChange" commandName="Select Next Change" description="Select Next Change" category="_W0GObOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fow-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.newWindow" commandName="New Window" description="Open another window" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoxOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.RemoveAllBreakpoints" commandName="Remove All Breakpoints" description="Removes all breakpoints" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoxeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.showResourceByPath" commandName="Show Resource in Navigator" description="Show a resource in the Navigator given its path" category="_W0GObeLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FoxuLhEeWHh-AP9QZrlQ" elementId="resourcePath" name="Resource Path" typeId="org.eclipse.ui.ide.resourcePath" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0Fox-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.addImport" commandName="Quick Fix - Add import" description="Invokes quick assist and selects 'Add import'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoyOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.extractLocal.assist" commandName="Quick Assist - Extract local variable (replace all occurrences)" description="Invokes quick assist and selects 'Extract local variable (replace all occurrences)'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoyeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.parameter.object" commandName="Introduce Parameter Object" description="Introduce a parameter object to a selected method" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FoyuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.shiftLeft" commandName="Shift Left" description="Shift a block of text to the left" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foy-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.create.delegate.methods" commandName="Generate Delegate Methods" description="Add delegate methods for a type's fields" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FozOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.showAnnotation" commandName="Show Annotation" description="Show Annotation" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FozeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.project.cleanAction" commandName="Build Clean" description="Discard old built state" category="_W0GOYOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FozuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.addThrowsDecl" commandName="Quick Fix - Add throws declaration" description="Invokes quick assist and selects 'Add throws declaration'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Foz-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.activeContextInfo" commandName="Show activeContext Info" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo0OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.replace" commandName="Replace With Latest from Repository" description="Replace with last committed content from CVS Server" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo0eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.compareWithTag" commandName="Compare With Another Branch or Version" description="Compare with a Branch or a Version on the CVS Server" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo0uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.findNext" commandName="Find Next" description="Find next item" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo0-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.imagebrowser.saveToWorkspace" commandName="Save Image" description="Save the selected image into a project in the workspace" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo1OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.Disconnect" commandName="Disconnect" description="Disconnect" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo1eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.addSuppressWarnings" commandName="Quick Fix - Add @SuppressWarnings" description="Invokes quick fix and selects 'Add @SuppressWarnings' " category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo1uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.commit.CreateTag" commandName="Create Tag..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo1-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.junitWorkbenchShortcut.debug" commandName="Debug JUnit Plug-in Test" description="Debug JUnit Plug-in Test" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo2OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.create.getter.setter" commandName="Generate Getters and Setters" description="Generate Getter and Setter methods for type's fields" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo2eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.setKeywordSubstitution" commandName="Change ASCII/Binary Property" description="Change whether the selected resources should be treated as ASCII or binary on the CVS Server" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo2uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.windowStart" commandName="Select Window Start" description="Select to the start of the window" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo2-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.internal.reflog.CheckoutCommand" commandName="Checkout" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo3OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.refactor.migrate.jar" commandName="Migrate JAR File" description="Migrate a JAR File to a new version" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo3eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.open.super.implementation" commandName="Open Super Implementation" description="Open the Implementation in the Super Type" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo3uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.help.quickStartAction" commandName="Welcome" description="Show help for beginning users" category="_W0GOa-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo3-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.addTask" commandName="Add Task..." description="Add a task" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo4OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.closeAllPerspectives" commandName="Close All Perspectives" description="Close all open perspectives" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo4eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editors.quickdiff.revertLine" commandName="Revert Line" description="Revert the current line" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo4uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.command.prevpage" commandName="Previous Page of Memory" description="Load previous page of memory" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo4-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.findPrevious" commandName="Find Previous" description="Find previous item" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo5OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.push.down" commandName="Push Down" description="Move members to subclasses" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo5eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ant.ui.toggleMarkOccurrences" commandName="Toggle Ant Mark Occurrences" description="Toggles mark occurrences in Ant editors" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo5uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView" commandName="Show View" description="Shows a particular view" category="_W0GOYuLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0Fo5-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.viewId" name="View"/>
+ <parameters xmi:id="_W0Fo6OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.secondaryId" name="Secondary Id"/>
+ <parameters xmi:id="_W0Fo6eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.views.showView.makeFast" name="As FastView"/>
+ </commands>
+ <commands xmi:id="_W0Fo6uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.extract.superclass" commandName="Extract Superclass" description="Extract a set of members into a new superclass and try to use the new superclass" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo6-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ltk.ui.refactor.create.refactoring.script" commandName="Create Script" description="Create a refactoring script from refactorings on the local workspace" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo7OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.delimiter.windows" commandName="Convert Line Delimiters to Windows (CRLF, \r\n, 0D0A, &#xa4;&#xb6;)" description="Converts the line delimiters to Windows (CRLF, \r\n, 0D0A, &#xa4;&#xb6;)" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo7eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.cut.line" commandName="Cut Line" description="Cut a line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo7uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.columnPrevious" commandName="Select Previous Column" description="Select the previous column" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo7-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.closeAll" commandName="Close All" description="Close all editors" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo8OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.cut.line.to.beginning" commandName="Cut to Beginning of Line" description="Cut to the beginning of a line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo8eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.promote.local.variable" commandName="Convert Local Variable to Field" description="Convert a local variable to a field" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo8uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.select.wordNext" commandName="Select Next Word" description="Select the next word" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo8-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.goToResource" commandName="Go to" description="Go to a particular resource in the active view" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo9OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.spy" commandName="Show Contributing Plug-in" description="Shows contribution information for the currently selected element" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo9eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.submodule.sync" commandName="Sync Submodule" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo9uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.quickAccess" commandName="Quick Access" description="Quickly access UI elements" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo9-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.CompareIndexWithHead" commandName="Compare File in Git Index with HEAD Revision" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo-OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.StepReturn" commandName="Step Return" description="Step return" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo-eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.addToWorkingSet" commandName="Add to Working Set" description="Adds the selected object to a working set." category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo-uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.goto.next.member" commandName="Go to Next Member" description="Move the caret to the next member of the compilation unit" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo--LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.select.next" commandName="Select Next Element" description="Expand selection to include next sibling" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo_OLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.goto.lineEnd" commandName="Line End" description="Go to the end of the line of text" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo_eLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.ForceReturn" commandName="Force Return" description="Forces return from method with value of selected expression " category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo_uLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.runtimeWorkbenchShortcut.run" commandName="Run Eclipse Application" description="Run Eclipse Application" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0Fo_-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.remove.block.comment" commandName="Remove Block Comment" description="Remove the block comment enclosing the selection" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpAOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.workspace" commandName="Write Access in Workspace" description="Search for write references to the selected element in the workspace" category="_W0GOYeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpAeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.team.CreatePatch" commandName="Create Patch" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpAuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewImportProjects" commandName="Import Projects..." description="Import or create in local Git repository" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpA-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.delimiter.unix" commandName="Convert Line Delimiters to Unix (LF, \n, 0A, &#xb6;)" description="Converts the line delimiters to Unix (LF, \n, 0A, &#xb6;)" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpBOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.showIn" commandName="Show In" category="_W0GObeLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FpBeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.navigate.showIn.targetId" name="Show In Target Id" optional="false"/>
+ </commands>
+ <commands xmi:id="_W0FpBuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.javaAppletShortcut.run" commandName="Run Java Applet" description="Run Java Applet" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpB-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.correction.convertLocalToField.assist" commandName="Quick Assist - Convert local variable to field" description="Invokes quick assist and selects 'Convert local variable to field'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpCOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.dialogs.openMessageDialog" commandName="Open Message Dialog" description="Open a Message Dialog" category="_W0GOXuLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FpCeLhEeWHh-AP9QZrlQ" elementId="title" name="Title"/>
+ <parameters xmi:id="_W0FpCuLhEeWHh-AP9QZrlQ" elementId="message" name="Message"/>
+ <parameters xmi:id="_W0FpC-LhEeWHh-AP9QZrlQ" elementId="imageType" name="Image Type Constant" typeId="org.eclipse.ui.dialogs.Integer"/>
+ <parameters xmi:id="_W0FpDOLhEeWHh-AP9QZrlQ" elementId="defaultIndex" name="Default Button Index" typeId="org.eclipse.ui.dialogs.Integer"/>
+ <parameters xmi:id="_W0FpDeLhEeWHh-AP9QZrlQ" elementId="buttonLabel0" name="First Button Label"/>
+ <parameters xmi:id="_W0FpDuLhEeWHh-AP9QZrlQ" elementId="buttonLabel1" name="Second Button Label"/>
+ <parameters xmi:id="_W0FpD-LhEeWHh-AP9QZrlQ" elementId="buttonLabel2" name="Third Button Label"/>
+ <parameters xmi:id="_W0FpEOLhEeWHh-AP9QZrlQ" elementId="buttonLabel3" name="Fourth Button Label"/>
+ <parameters xmi:id="_W0FpEeLhEeWHh-AP9QZrlQ" elementId="cancelReturns" name="Return Value on Cancel"/>
+ </commands>
+ <commands xmi:id="_W0FpEuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.AllReferences" commandName="All References" description="Inspect all references to the selected object" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpE-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.command.OpenFromClipboard" commandName="Open from Clipboard" description="Opens a Java element or a Java stack trace from clipboard" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpFOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.equinox.p2.ui.discovery.commands.ShowRepositoryCatalog" commandName="Show Repository Catalog" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_W0FpFeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.equinox.p2.ui.discovery.commands.RepositoryParameter" name="P2 Repository URI"/>
+ </commands>
+ <commands xmi:id="_W0FpFuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.window.nextPerspective" commandName="Next Perspective" description="Switch to the next perspective" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpF-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.OpenDebugConfigurations" commandName="Debug..." description="Open debug launch configuration dialog" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpGOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.edit.text.hippieCompletion" commandName="Word Completion" description="Context insensitive completion" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpGeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewClearCredentials" commandName="Clear Credentials" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpGuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.extract.constant" commandName="Extract Constant" description="Extracts a constant into a new static field and uses the new static field" category="_W0GOcOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpG-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.add" commandName="Add to Version Control" description="Add the Selected Resources to Version Control" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpHOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.sync" commandName="Synchronize with Repository" description="Synchronize the workspace resources with those in the repository" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpHeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.file.closeOthers" commandName="Close Others" description="Close all editors except the one that is active" category="_W0GOZuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpHuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.add.javadoc.comment" commandName="Add Javadoc Comment" description="Add a Javadoc comment stub to the member element" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpH-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.editors.revisions.author.toggle" commandName="Toggle Revision Author Display" description="Toggles the display of the revision author" category="_W0GOX-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpIOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.edit.text.java.sort.members" commandName="Sort Members" description="Sort all members using the member order preference" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpIeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.replaceWithBase" commandName="Revert to Base" description="Revert to Base revisions" category="_W0GOW-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpIuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.RepositoriesViewConfigureFetch" commandName="Configure Fetch..." category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpI-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.debug.ui.commands.Execute" commandName="Execute" description="Evaluate selected text" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpJOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.commands.Resume" commandName="Resume" description="Resume" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpJeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions/org.eclipse.jdt.debug.ui.SnippetExecute" commandName="E&amp;xecute"/>
+ <commands xmi:id="_W0FpJuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions/org.eclipse.jdt.debug.ui.SnippetDisplay" commandName="Displa&amp;y"/>
+ <commands xmi:id="_W0FpJ-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions/org.eclipse.jdt.debug.ui.SnippetInspect" commandName="Insp&amp;ect"/>
+ <commands xmi:id="_W0FpKOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.ant.ui.actionSet.presentation/org.eclipse.ant.ui.toggleAutoReconcile" commandName="Toggle Ant Editor Auto Reconcile" description="Toggle Ant Editor Auto Reconcile" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpKeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.RunWithConfigurationAction" commandName="Run As" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpKuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.RunHistoryMenuAction" commandName="Run History" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpK-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.RunDropDownAction" commandName="Run" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpLOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.DebugWithConfigurationAction" commandName="Debug As" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpLeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.DebugHistoryMenuAction" commandName="Debug History" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0FpLuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.DebugDropDownAction" commandName="Debug" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOEOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.profileActionSet/org.eclipse.debug.internal.ui.actions.ProfileDropDownAction" commandName="Profile" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOEeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.profileActionSet/org.eclipse.debug.internal.ui.actions.ProfileWithConfigurationAction" commandName="Profile As" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOEuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.profileActionSet/org.eclipse.debug.internal.ui.actions.ProfileHistoryMenuAction" commandName="Profile History" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOE-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.ui.JavaElementCreationActionSet/org.eclipse.jdt.ui.actions.NewTypeDropDown" commandName="Class..." description="New Java Class" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOFOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.ui.JavaElementCreationActionSet/org.eclipse.jdt.ui.actions.OpenPackageWizard" commandName="Package..." description="New Java Package" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOFeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.ui.JavaElementCreationActionSet/org.eclipse.jdt.ui.actions.OpenProjectWizard" commandName="Java Project..." description="New Java Project" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOFuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.ui.SearchActionSet/org.eclipse.jdt.ui.actions.OpenJavaSearchPage" commandName="Java..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOF-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.pde.ui.SearchActionSet/org.eclipse.pde.ui.actions.OpenPluginSearchPage" commandName="Plug-in..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOGOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction" commandName="Cheat Sheets..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOGeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.search.searchActionSet/org.eclipse.search.OpenSearchDialogPage" commandName="Search..." description="Search" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOGuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.team.ui.actionSet/org.eclipse.team.ui.synchronizeAll" commandName="Synchronize..." description="Synchronize..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOG-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.team.ui.actionSet/org.eclipse.team.ui.ConfigureProject" commandName="Share Project..." description="Share the project with others using a version and configuration management system." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOHOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.ui.externaltools.ExternalToolsSet/org.eclipse.ui.externaltools.ExternalToolMenuDelegateMenu" commandName="External Tools" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOHeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.ant.ui.BreakpointRulerActions/org.eclipse.ant.ui.actions.ManageBreakpointRulerAction" commandName="Toggle Breakpoint" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOHuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction" commandName="Toggle Breakpoint" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOH-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ClassFileEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction" commandName="Toggle Breakpoint" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOIOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.CompilationUnitEditor.ruler.actions/org.eclipse.jdt.internal.ui.javaeditor.BookmarkRulerAction" commandName="Java Editor Bookmark Ruler Action" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOIeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.CompilationUnitEditor.ruler.actions/org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction" commandName="Java Editor Ruler Single-Click" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOIuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.ClassFileEditor.ruler.actions/org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction" commandName="Java Editor Ruler Single-Click" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOI-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.PropertiesFileEditor.ruler.actions/org.eclipse.jdt.internal.ui.propertiesfileeditor.BookmarkRulerAction" commandName="Java Editor Bookmark Ruler Action" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOJOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.PropertiesFileEditor.ruler.actions/org.eclipse.jdt.internal.ui.propertiesfileeditor.SelectRulerAction" commandName="Java Editor Ruler Single-Click" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOJeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.ui.texteditor.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Text Editor Bookmark Ruler Action" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOJuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.ui.texteditor.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Text Editor Ruler Single-Click" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOJ-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.PulldownActions/org.eclipse.debug.ui.debugview.pulldown.ViewManagementAction" commandName="View Management..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOKOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.debugview.toolbar/org.eclipse.debug.ui.debugview.toolbar.removeAllTerminated" commandName="Remove All Terminated" description="Remove All Terminated Launches" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOKeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.removeAll" commandName="Remove All" description="Remove All Breakpoints" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOKuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.linkWithDebugView" commandName="Link with Debug View" description="Link with Debug View" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOK-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.workingSets" commandName="Working Sets..." description="Manage Working Sets" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOLOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.clearDefaultBreakpointGroup" commandName="Deselect Default Working Set" description="Deselect Default Working Set" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOLeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.setDefaultBreakpointGroup" commandName="Select Default Working Set..." description="Select Default Working Set" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOLuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.groupByAction" commandName="Group By" description="Show" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOL-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.expressionsView.toolbar/org.eclipse.debug.ui.expresssionsView.toolbar.removeAll" commandName="Remove All" description="Remove All Expressions" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOMOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.expressionsView.toolbar/org.eclipse.debug.ui.expresssionsView.toolbar.AddWatchExpression" commandName="Add Watch Expression..." description="Create a new watch expression" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOMeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.PinMemoryBlockAction" commandName="Pin Memory Monitor" description="Pin Memory Monitor" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOMuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.NewMemoryViewAction" commandName="New Memory View" description="New Memory View" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOM-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.togglemonitors" commandName="Toggle Memory Monitors Pane" description="Toggle Memory Monitors Pane" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GONOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.linkrenderingpanes" commandName="Link Memory Rendering Panes" description="Link Memory Rendering Panes" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GONeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.tablerendering.preferencesaction" commandName="Table Renderings Preferences..." description="&amp;Table Renderings Preferences..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GONuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.togglesplitpane" commandName="Toggle Split Pane" description="Toggle Split Pane" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GON-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.switchMemoryBlock" commandName="Switch Memory Monitor" description="Switch Memory Monitor" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOOOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.memoryViewPreferencesAction" commandName="Preferences..." description="&amp;Preferences..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOOeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.Preferences" commandName="Java Preferences..." description="Opens preferences for Java variables" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOOuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variablesViewActions.AllReferencesInView" commandName="Show References" description="Shows references to each object in the variables view as an array of objects." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOO-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowNullEntries" commandName="Show Null Array Entries" description="Show Null Array Entries" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOPOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOPeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowStatic" commandName="Show Static Variables" description="Show Static Variables" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOPuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowConstants" commandName="Show Constants" description="Show Constants" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOP-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.variableViewActions.Preferences" commandName="Java Preferences..." description="Opens preferences for Java variables" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOQOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.AllReferencesInView" commandName="Show References" description="Show &amp;References" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOQeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowNullEntries" commandName="Show Null Array Entries" description="Show Null Array Entries" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOQuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOQ-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.ShowStatic" commandName="Show Static Variables" description="Show Static Variables" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOROLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.ShowConstants" commandName="Show Constants" description="Show Constants" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOReLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.BreakpointViewActions/org.eclipse.jdt.debug.ui.actions.AddException" commandName="Add Java Exception Breakpoint" description="Add Java Exception Breakpoint" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GORuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.BreakpointViewActions/org.eclipse.jdt.debug.ui.breakpointViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOR-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowThreadGroups" commandName="Show Thread Groups" description="Show Thread Groups" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOSOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOSeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowSystemThreads" commandName="Show System Threads" description="Show System Threads" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOSuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowMonitorThreadInfo" commandName="Show Monitors" description="Show the Thread &amp; Monitor Information" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOS-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Watch" commandName="Watch" description="Create a Watch Expression from the Selected Text" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOTOLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Execute" commandName="Execute" description="Execute the Selected Text" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOTeLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Display" commandName="Display" description="Display Result of Evaluating Selected Text" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOTuLhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Inspect" commandName="Inspect" description="Inspect Result of Evaluating Selected Text" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_W0GOT-LhEeWHh-AP9QZrlQ" elementId="AUTOGEN:::org.eclipse.pde.ui.logViewActions/org.eclipse.jdt.debug.ui.LogViewActions.showStackTrace" commandName="Show Stack Trace in Console View" description="Show Stack Trace in Console View" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAHtcKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.commands.switch" commandName="Switch Source/Design Views" description="Switch between the Source and Design views." category="_RAGfUKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAHtcaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.task.clearActiveTime" commandName="Clear Active Time" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAHtcqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.task.attachContext" commandName="Attach Context" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAHtc6M1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.commit.Squash" commandName="Squash Commits" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAHtdKM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.history.Edit" commandName="Edit Commit" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAHtdaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.editor.showCheatSheetCommand" commandName="Show Markup Cheat Sheet" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAHtdqM1EeaKb6tuSbNsJA" elementId="org.eclipse.gef.ui.palette_view" commandName="Palette" category="_W0GOYuLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUgKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.task.clearContext" commandName="Clear Context" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAIUgaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.add.block.comment" commandName="Add Block Comment" description="Add Block Comment" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUgqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.searchForTask" commandName="Search Repository for Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUg6M1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.actions.LifeCycleTest.run" commandName="Run Maven Test" description="Run Maven Test" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUhKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.maximizePart" commandName="Maximize Part" description="Maximize Part" category="_RAGfUqM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAIUhaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.open.file.from.source" commandName="Open Selection" description="Open an editor on the selected link" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUhqM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.editor.importProjects" commandName="Import Projects" category="_RAGfVKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAIUh6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.command.ShowTestResults" commandName="Show Test Results" category="_RAGfU6M1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAIUiKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.goto.matching.bracket" commandName="Matching Character" description="Go to Matching Character" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUiaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.disable.grammar.constraints" commandName="Turn off Grammar Constraints" description="Turn off grammar Constraints" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUiqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.quickOutlineCommand" commandName="Quick Outline" description="Open a popup dialog with a quick outline of the current document" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUi6M1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.snipmatch.rcp.commands.completion" commandName="Snipmatch Snippet Completion" description="Open a dialog to search for and insert code snippets" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUjKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.discoveryWizardCommand" commandName="%command.name" description="%command.description" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUjaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.convertToDocbookCommand" commandName="Generate Docbook" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUjqM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.editor.refreshCache" commandName="Referehs Remote Cache" category="_RAGfVKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAIUj6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.quick_outline" commandName="Quick Outline" description="Show the quick outline for the editor input" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUkKM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.snipmatch.rcp.commands.createSnippet" commandName="Create Snippet..." description="Creates a new Snipmatch code snippet from the current editor&#x2019;s text selection" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUkaM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.commands.openBrowser" commandName="Open a Web browser" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAIUkqM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.linkContribution.href" name="URI" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAIUk6M1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.actions.LifeCycleGenerateSources.run" commandName="Run Maven Generate Sources" description="Run Maven Generate Sources" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUlKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.open.context.dialog" commandName="Show Context Quick View" description="Show Context Quick View" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAIUlaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.structure.select.previous" commandName="Select Previous Element" description="Expand selection to include previous sibling" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUlqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.attachment.retrieveContext" commandName="Retrieve Context Attachment" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAIUl6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.convertToMarkupCommand" commandName="Generate Markup" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAIUmKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.targetLanguage" name="TargetLanguage" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAIUmaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.RefreshRepositoryTasks" commandName="Synchronize Changed" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAIUmqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.showToolTip" commandName="Show Tooltip Description" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7kKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.task.copyContext" commandName="Copy Context" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7kaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.interest.increment" commandName="Make Landmark" description="Make Landmark" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7kqM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.ImportChangedProjectsCommandId" commandName="Import Changed Projects" description="Import or create in local Git repository" category="_W0GOXeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7k6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.structure.select.next" commandName="Select Next Element" description="Expand selection to include next sibling" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7lKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.command.ShowBuildOutput" commandName="Show Build Output" category="_RAGfU6M1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7laM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.editor.performDropdown" commandName="Perform Dropdown" category="_RAGfVKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7lqM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.commands.openBrowserDialog" commandName="Open a Web browser" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAI7l6M1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.linkContribution.href" name="URI" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAI7mKM1EeaKb6tuSbNsJA" elementId="org.eclipse.equinox.p2.ui.sdk.installationDetails" commandName="Installation Details" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7maM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.profiles.ui.commands.selectMavenProfileCommand" commandName="Select Maven Profiles" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7mqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.new.subtask" commandName="New Subtask" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7m6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.remove.block.comment" commandName="Remove Block Comment" description="Remove Block Comment" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7nKM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.core.ui.command.openPom" commandName="Open Maven POM" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7naM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.commit.StashDrop" commandName="Delete Stashed Commit..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7nqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.openTask" commandName="Open Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7n6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xsd.ui.refactor.rename.element" commandName="&amp;Rename XSD element" description="Rename XSD element" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7oKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.java.ui.editor.folding.auto" commandName="Toggle Active Folding" description="Toggle Active Folding" category="_RAHGYaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7oaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.goToPreviousUnread" commandName="Go To Previous Unread Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7oqM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.commit.Edit" commandName="Edit Commit" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7o6M1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.ui.ToggleOfflineMode" commandName="Toggle Offline Mode" category="_RAHGZqM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7pKM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.editor.openLog" commandName="Open Setup Log" category="_RAGfVKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7paM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.addTaskRepository" commandName="Add Task Repository..." category="_RAHGYKM1EeaKb6tuSbNsJA">
+ <parameters xmi:id="_RAI7pqM1EeaKb6tuSbNsJA" elementId="connectorKind" name="Repository Type"/>
+ </commands>
+ <commands xmi:id="_RAI7p6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.activateTask" commandName="Activate Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7qKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElementWithBrowser" commandName="Open Build with Browser" category="_RAGfU6M1EeaKb6tuSbNsJA">
+ <parameters xmi:id="_RAI7qaM1EeaKb6tuSbNsJA" elementId="element" name="Element"/>
+ </commands>
+ <commands xmi:id="_RAI7qqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.structure.select.enclosing" commandName="Select Enclosing Element" description="Expand selection to include enclosing element" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7q6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.viewSource.command" commandName="View Unformatted Text" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7rKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElement" commandName="Open Build Element" category="_RAGfU6M1EeaKb6tuSbNsJA">
+ <parameters xmi:id="_RAI7raM1EeaKb6tuSbNsJA" elementId="element" name="Element"/>
+ </commands>
+ <commands xmi:id="_RAI7rqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.previousSibling" commandName="Previous Sibling" description="Go to Previous Sibling" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7r6M1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.commands.openPreferences" commandName="Open the preferences dialog" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAI7sKM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.linkContribution.href" name="URI" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAI7saM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskUnread" commandName="Mark Task Unread" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7sqM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.history.Squash" commandName="Squash Commits" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7s6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.structure.select.last" commandName="Restore Last Selection" description="Restore last selection" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7tKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.command.NewTaskFromBuild" commandName="New Task From Build" category="_RAGfU6M1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7taM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xsd.ui.refactor.makeElementGlobal" commandName="Make Local Element &amp;Global" description="Promotes local element to global level and replaces its references" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7tqM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.editor.openEditorDropdown" commandName="Open Setup Editor" category="_RAGfVKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7t6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.SynchronizeAll" commandName="Synchronize Changed" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7uKM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.history.Reword" commandName="Reword Commit" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAI7uaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.context.ui.editor.folding.auto" commandName="Toggle Active Folding" description="Toggle Active Folding" category="_RAHGYqM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAI7uqM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.p2.ui.ExploreRepository" commandName="Explore Repository" category="_RAHGY6M1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJioKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.UpdateRepositoryConfiguration" commandName="Update Repository Configuration" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJioaM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.commit.StashApply" commandName="Apply Stashed Changes" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJioqM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.history.DeleteTag" commandName="&amp;Delete Tag" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJio6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.attachment.open" commandName="Open Attachment" category="_RAGfUqM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJipKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.command.NewTaskFromTest" commandName="New Task From Test" category="_RAGfU6M1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJipaM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.editor.perform.startup" commandName="Perform Setup Tasks (Startup)" category="_RAGfVKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJipqM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.commit.ShowInHistory" commandName="Show in History" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJip6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.previousTask" commandName="Previous Task Command" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiqKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToPreviousUnread" commandName="Mark Task Read and Go To Previous Unread Task" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJiqaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.cleanup.document" commandName="Cleanup Document..." description="Cleanup document" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiqqM1EeaKb6tuSbNsJA" elementId="org.eclipse.ui.window.splitEditor" commandName="Toggle Split Editor" description="Split or join the currently active editor." category="_W0GOXOLhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAJiq6M1EeaKb6tuSbNsJA" elementId="Splitter.isHorizontal" name="Orientation" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAJirKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.deactivateSelectedTask" commandName="Deactivate Selected Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiraM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.format" commandName="Format" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJirqM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.core.ui.command.addPlugin" commandName="Add Maven Plugin" description="Add Maven Plugin" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJir6M1EeaKb6tuSbNsJA" elementId="sed.tabletree.expandAll" commandName="Expand All" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJisKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.openSelectedTask" commandName="Open Selected Task" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJisaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.toggle.focus.active.view" commandName="Focus on Active Task" description="Toggle the focus on active task for the active view" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJisqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.goToNextUnread" commandName="Go To Next Unread Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJis6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.gotoMatchingTag" commandName="Matching Tag" description="Go to Matching Tag" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJitKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.submitTask" commandName="Submit Task" description="Submits the currently open task" category="_RAGfUqM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJitaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.reload.dependencies" commandName="Reload Dependencies" description="Reload Dependencies" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJitqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.generate.xml" commandName="&amp;XML File..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJit6M1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xsd.ui.refactor.makeTypeGlobal" commandName="Make &amp;Anonymous Type Global" description="Promotes anonymous type to global level and replaces its references" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiuKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.format.active.elements" commandName="Format Active Elements" description="Format active elements" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiuaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.task.clearOutgoing" commandName="Clear Outgoing Changes" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJiuqM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.actions.LifeCycleClean.run" commandName="Run Maven Clean" description="Run Maven Clean" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiu6M1EeaKb6tuSbNsJA" elementId="org.eclipse.gef.zoom_in" commandName="Zoom In" description="Zoom In" category="_RAHGZKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJivKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.convertToEclipseHelpCommand" commandName="Generate Eclipse Help (*.html and *-toc.xml)" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJivaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.referencedFileErrors" commandName="Show Details..." description="Show Details..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJivqM1EeaKb6tuSbNsJA" elementId="org.eclipse.jdt.ui.correction.extractMethodInplace.assist" commandName="Quick Assist - Extract method" description="Invokes quick assist and selects 'Extract to method'" category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiv6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.disconnected" commandName="Disconnected" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiwKM1EeaKb6tuSbNsJA" elementId="org.eclipse.egit.ui.commit.Reword" commandName="Reword Commit" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiwaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.index.ui.command.ResetIndex" commandName="Refresh Search Index" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJiwqM1EeaKb6tuSbNsJA" elementId="org.eclipse.ui.ide.showInSystemExplorer" commandName="Show In (System Explorer)" description="Show in system's explorer (file manager)" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAJiw6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.new.local.task" commandName="New Local Task" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAJixKM1EeaKb6tuSbNsJA" elementId="org.eclipse.ui.navigator.resources.nested.changeProjectPresentation" commandName="P&amp;rojects Presentation" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAKJsKM1EeaKb6tuSbNsJA" elementId="org.eclipse.ui.navigator.resources.nested.enabled" name="&amp;Hierarchical"/>
+ <parameters xmi:id="_RAKJsaM1EeaKb6tuSbNsJA" elementId="org.eclipse.ui.commands.radioStateParameter" name="Nested Project view - Radio State" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAKJsqM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.discovery.ui" commandName="m2e Marketplace" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJs6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskIncomplete" commandName="Mark Task Incomplete" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJtKM1EeaKb6tuSbNsJA" elementId="org.eclipse.gef.zoom_out" commandName="Zoom Out" description="Zoom Out" category="_RAHGZKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJtaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.discovery.ui.discoveryWizardCommand" commandName="Discovery Wizard" description="shows the connector discovery wizard" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJtqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.toggle.comment" commandName="Toggle Comment" description="Toggle Comment" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJt6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToNextUnread" commandName="Mark Task Read and Go To Next Unread Task" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJuKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskRead" commandName="Mark Task Read" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJuaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.cmnd.contentmodel.sych" commandName="Synch" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJuqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xsd.ui.refactor.renameTargetNamespace" commandName="Rename Target Namespace" description="Changes the target namespace of the schema" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJu6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.deactivateAllTasks" commandName="Deactivate Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJvKM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.core.ui.command.updateProject" commandName="Update Project" description="Update Maven Project configuration and dependencies" category="_W0GOXOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJvaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.convertToHtmlCommand" commandName="Generate HTML" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJvqM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.core.pomFileAction.run" commandName="Run Maven Build" description="Run Maven Build" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJv6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.openRemoteTask" commandName="Open Remote Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJwKM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.actions.LifeCycleInstall.run" commandName="Run Maven Install" description="Run Maven Install" category="_W0GOaOLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJwaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.task.retrieveContext" commandName="Retrieve Context" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJwqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.task.ui.editor.QuickOutline" commandName="Quick Outline" description="Show the quick outline for the editor input" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJw6M1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.editor.perform" commandName="Perform Setup Tasks" category="_RAGfVKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJxKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.commons.ui.command.AddRepository" commandName="Add Repository" category="_RAHGZaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJxaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.commands.empty" commandName="Empty command" description="Command which does nothing" category="_RAGfUKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKJxqM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.xml.ui.nextSibling" commandName="Next Sibling" description="Go to Next Sibling" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKJx6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.bugs.commands.newTaskFromMarker" commandName="New Task from Marker..." description="Report as Bug from Marker" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKwwKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.focus.view" commandName="Focus View" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAKwwaM1EeaKb6tuSbNsJA" elementId="viewId" name="View ID to Focus" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAKwwqM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.core.ui.command.addDependency" commandName="Add Maven Dependency" description="Add Maven Dependency" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKww6M1EeaKb6tuSbNsJA" elementId="org.eclipse.jdt.ui.edit.text.java.annotate.classFile" commandName="Annotate Class File" description="Externally add Annotations to a Class File." category="_W0GOb-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKwxKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.activateSelectedTask" commandName="Activate Selected Task" category="_W0GObeLhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKwxaM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.format.document" commandName="Format" description="Format selection" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKwxqM1EeaKb6tuSbNsJA" elementId="org.eclipse.m2e.editor.RenameArtifactAction" commandName="Rename Maven Artifact..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKwx6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.commands.CopyDetails" commandName="Copy Details" category="_RAGfU6M1EeaKb6tuSbNsJA">
+ <parameters xmi:id="_RAKwyKM1EeaKb6tuSbNsJA" elementId="kind" name="Kind"/>
+ <parameters xmi:id="_RAKwyaM1EeaKb6tuSbNsJA" elementId="element" name="Element"/>
+ </commands>
+ <commands xmi:id="_RAKwyqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.command.RunBuild" commandName="Run Build" category="_RAGfU6M1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKwy6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands.interest.decrement" commandName="Make Less Interesting" description="Make Less Interesting" category="_RAGfVaM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKwzKM1EeaKb6tuSbNsJA" elementId="sed.tabletree.collapseAll" commandName="Collapse All" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKwzaM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.commands.extensionDiscovery" commandName="Discover New Extensions" category="_W0GOZ-LhEeWHh-AP9QZrlQ">
+ <parameters xmi:id="_RAKwzqM1EeaKb6tuSbNsJA" elementId="org.eclipse.recommenders.rcp.linkContribution.href" name="URI" optional="false"/>
+ </commands>
+ <commands xmi:id="_RAKwz6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskComplete" commandName="Mark Task Complete" category="_RAHGYKM1EeaKb6tuSbNsJA"/>
+ <commands xmi:id="_RAKw0KM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.search.find.occurrences" commandName="Occurrences in File" description="Find occurrences of the selection in the file" category="_W0GOY-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RAKw0aM1EeaKb6tuSbNsJA" elementId="org.eclipse.wst.sse.ui.outline.customFilter" commandName="&amp;Filters" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVgHkKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.java.actionSet.browsing/org.eclipse.mylyn.java.ui.actions.ApplyMylynToBrowsingPerspectiveAction" commandName="Focus Browsing Perspective" description="Focus Java Browsing Views on Active Task" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVguoKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.doc.actionSet/org.eclipse.mylyn.tasks.ui.bug.report" commandName="Report Bug or Enhancement..." description="Report Bug or Enhancement" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVhVsKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.navigation.additions/org.eclipse.mylyn.tasks.ui.navigate.task.history" commandName="Activate Previous Task" description="Activate Previous Task" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVij0KM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.wb.core.ui.actionset/org.eclipse.wb.core.wizards.actions.NewDesignerTypeDropDownAction" commandName="New Visual Class" description="Create new visual classes" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVjx8KM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.m2e.jdt.ui.downloadSourcesContribution/org.eclipse.m2e.jdt.ui.downloadSourcesAction" commandName="label" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVkZAKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.m2e.jdt.ui.downloadSourcesContribution_38/org.eclipse.m2e.jdt.ui.downloadSourcesAction_38" commandName="label" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVkZAaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.ui.texteditor.ruler.actions/org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction" commandName="label" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVlAEKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.wst.dtd.core.dtdsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVlAEaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.wst.dtd.core.dtdsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVlnIKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.core.runtime.xml.source.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVlnIaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.core.runtime.xml.source.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVlnIqM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.wst.xsd.core.xsdsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVmOMKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.wst.xsd.core.xsdsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVoDYKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.context.ui.outline.contribution/org.eclipse.mylyn.context.ui.contentOutline.focus" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVoDYaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.java.ui.markers.breakpoints.contribution/org.eclipse.mylyn.java.ui.actions.focus.markers.breakpoints" commandName="Focus on Active Task" description="Focus on Active Task" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVoqcKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.ui.debug.view.contribution/org.eclipse.mylyn.ui.actions.FilterResourceNavigatorAction" commandName="Focus on Active Task (Experimental)" description="Focus on Active Task (Experimental)" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVoqcaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.ui.projectexplorer.filter/org.eclipse.mylyn.ide.ui.actions.focus.projectExplorer" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVpRgKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.ui.resource.navigator.filter/org.eclipse.mylyn.ide.ui.actions.focus.resourceNavigator" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVpRgaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.problems.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.problems" commandName="Focus on Active Task" description="Focus on Active Task" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVp4kKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.markers.all.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.all" commandName="Focus on Active Task" description="Focus on Active Task" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVp4kaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.markers.tasks.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.tasks" commandName="Focus on Active Task" description="Focus on Active Task" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVqfoKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.markers.bookmarks.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.bookmarks" commandName="Focus on Active Task" description="Focus on Active Task" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVqfoaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.java.explorer.contribution/org.eclipse.mylyn.java.actions.focus.packageExplorer" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVrGsKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.search.open" commandName="Search Repository..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVrGsaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.synchronize.changed" commandName="Synchronize Changed" description="Synchronize Changed" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVrGsqM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.tasks.restore" commandName="Restore Tasks from History..." category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVrtwKM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.open.repositories.view" commandName="Show Task Repositories View" description="Show Task Repositories View" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVrtwaM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.doc.legend.show.action" commandName="Show UI Legend" description="Show Tasks UI Legend" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <commands xmi:id="_RVsU0KM1EeaKb6tuSbNsJA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.context.ui.actions.tasklist.focus" commandName="Focus on Workweek" description="Focus on Workweek" category="_W0GOZ-LhEeWHh-AP9QZrlQ"/>
+ <addons xmi:id="_W0GOUOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.core.commands.service" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+ <addons xmi:id="_W0GOUeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.ui.contexts.service" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+ <addons xmi:id="_W0GOUuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.ui.bindings.service" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
+ <addons xmi:id="_W0GOU-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.ui.workbench.commands.model" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+ <addons xmi:id="_W0GOVOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+ <addons xmi:id="_W0GOVeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
+ <addons xmi:id="_W0GOVuLhEeWHh-AP9QZrlQ" elementId="Cleanup Addon" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.cleanupaddon.CleanupAddon"/>
+ <addons xmi:id="_W0GOV-LhEeWHh-AP9QZrlQ" elementId="DnD Addon" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.dndaddon.DnDAddon"/>
+ <addons xmi:id="_W0GOWOLhEeWHh-AP9QZrlQ" elementId="MinMax Addon" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon"/>
+ <addons xmi:id="_W0GOWeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.workbench.addon.0" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+ <addons xmi:id="_Q_olQaM1EeaKb6tuSbNsJA" elementId="SplitterAddon" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.splitteraddon.SplitterAddon"/>
+ <addons xmi:id="_dz0JgGOlEeSMMaPQU2nlzw" elementId="org.eclipse.ui.ide.application.addon.0" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.ui.ide.application/org.eclipse.ui.internal.ide.application.addons.ModelCleanupAddon"/>
+ <categories xmi:id="_W0GOWuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.perspectives" name="Perspectives" description="Commands for opening perspectives"/>
+ <categories xmi:id="_W0GOW-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.cvs.ui.actionSet" name="CVS" description="Actions that apply when working with CVS repositories"/>
+ <categories xmi:id="_W0GOXOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.window" name="Window"/>
+ <categories xmi:id="_W0GOXeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.egit.ui.commandCategory" name="Git"/>
+ <categories xmi:id="_W0GOXuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.dialogs" name="Dialogs" description="Commands for opening dialogs"/>
+ <categories xmi:id="_W0GOX-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.textEditor" name="Text Editing" description="Text Editing Commands"/>
+ <categories xmi:id="_W0GOYOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.project" name="Project"/>
+ <categories xmi:id="_W0GOYeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.search.ui.category.search" name="Search" description="Search command category"/>
+ <categories xmi:id="_W0GOYuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.views" name="Views" description="Commands for opening views"/>
+ <categories xmi:id="_W0GOY-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.edit" name="Edit"/>
+ <categories xmi:id="_W0GOZOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.runtime.spy.commands.category" name="Spy"/>
+ <categories xmi:id="_W0GOZeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.ide.markerContents" name="Contents" description="The category for menu contents"/>
+ <categories xmi:id="_W0GOZuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.file" name="File"/>
+ <categories xmi:id="_W0GOZ-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.core.commands.categories.autogenerated" name="Uncategorized" description="Commands that were either auto-generated or have no category"/>
+ <categories xmi:id="_W0GOaOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.debug.ui.category.run" name="Run/Debug" description="Run/Debug command category"/>
+ <categories xmi:id="_W0GOaeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.pde.ui.category.source" name="Manifest Editor Source" description="PDE Source Page actions"/>
+ <categories xmi:id="_W0GOauLhEeWHh-AP9QZrlQ" elementId="org.eclipse.team.ui.category.team" name="Team" description="Actions that apply when working with a Team"/>
+ <categories xmi:id="_W0GOa-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.help" name="Help"/>
+ <categories xmi:id="_W0GObOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.compare.ui.category.compare" name="Compare" description="Compare command category"/>
+ <categories xmi:id="_W0GObeLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ui.category.navigate" name="Navigate"/>
+ <categories xmi:id="_W0GObuLhEeWHh-AP9QZrlQ" elementId="org.eclipse.ltk.ui.category.refactoring" name="Refactoring"/>
+ <categories xmi:id="_W0GOb-LhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.category.source" name="Source" description="Java Source Actions"/>
+ <categories xmi:id="_W0GOcOLhEeWHh-AP9QZrlQ" elementId="org.eclipse.jdt.ui.category.refactoring" name="Refactor - Java" description="Java Refactoring Actions"/>
+ <categories xmi:id="_RAGfUKM1EeaKb6tuSbNsJA" elementId="org.eclipse.wb.core.actions.category" name="WindowBuilder Pro" description="WindowBuilder Pro actions"/>
+ <categories xmi:id="_RAGfUaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.ui.editor.category" name="WikiText Markup Editing Commands" description="commands for editing lightweight markup"/>
+ <categories xmi:id="_RAGfUqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.category.editor" name="Task Editor"/>
+ <categories xmi:id="_RAGfU6M1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.builds.ui.category.Commands" name="Builds"/>
+ <categories xmi:id="_RAGfVKM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.setup.category" name="Oomph Setup"/>
+ <categories xmi:id="_RAGfVaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.context.ui.commands" name="Focused UI" description="Task-Focused Interface"/>
+ <categories xmi:id="_RAHGYKM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.tasks.ui.commands" name="Task Repositories"/>
+ <categories xmi:id="_RAHGYaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.java.ui.commands" name="Java Context" description="Java Task-Focused Interface Commands"/>
+ <categories xmi:id="_RAHGYqM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.wikitext.context.ui.commands" name="%commands.category.name" description="%commands.category.description"/>
+ <categories xmi:id="_RAHGY6M1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph" name="Oomph"/>
+ <categories xmi:id="_RAHGZKM1EeaKb6tuSbNsJA" elementId="org.eclipse.gef.category.view" name="View" description="View"/>
+ <categories xmi:id="_RAHGZaM1EeaKb6tuSbNsJA" elementId="org.eclipse.mylyn.commons.repositories.ui.category.Team" name="Team"/>
+ <categories xmi:id="_RAHGZqM1EeaKb6tuSbNsJA" elementId="org.eclipse.oomph.commands" name="Oomph"/>
+</application:Application>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt
new file mode 100644
index 0000000..d5abf41
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx
new file mode 100644
index 0000000..b8ee809
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm
new file mode 100644
index 0000000..523c92e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm
new file mode 100644
index 0000000..cf8dc75
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm
@@ -0,0 +1 @@
+NRMÿ \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii
new file mode 100644
index 0000000..ebd518d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis
new file mode 100644
index 0000000..ebd518d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen
new file mode 100644
index 0000000..63a7ec9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1
new file mode 100644
index 0000000..0ffed7b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt
new file mode 100644
index 0000000..d5abf41
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx
new file mode 100644
index 0000000..b8ee809
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm
new file mode 100644
index 0000000..523c92e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm
new file mode 100644
index 0000000..cf8dc75
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm
@@ -0,0 +1 @@
+NRMÿ \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii
new file mode 100644
index 0000000..ebd518d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis
new file mode 100644
index 0000000..ebd518d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen
new file mode 100644
index 0000000..63a7ec9
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1 b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1
new file mode 100644
index 0000000..0c498e0
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.equinox.p2.ui/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.equinox.p2.ui/dialog_settings.xml
new file mode 100644
index 0000000..89a9784
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.equinox.p2.ui/dialog_settings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="org.eclipse.equinox.internal.p2.ui.dialogs.InstallWizard.WizardSettings">
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
new file mode 100644
index 0000000..593f470
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
new file mode 100644
index 0000000..593f470
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
new file mode 100644
index 0000000..10e105f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt
new file mode 100644
index 0000000..68a85ef
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt
@@ -0,0 +1 @@
+INDEX VERSION 1.126
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache
new file mode 100644
index 0000000..593f470
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
new file mode 100644
index 0000000..8586397
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
@@ -0,0 +1 @@
+java \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
new file mode 100644
index 0000000..917db33
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
new file mode 100644
index 0000000..e2e8d79
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
@@ -0,0 +1,66 @@
+INDEX VERSION 1.126+/home/foghrye4/Programs/Forge 1.7.10/eclipse/.metadata/.plugins/org.eclipse.jdt.core
+3046902022.index
+4120319570.index
+281449128.index
+866804943.index
+1378081998.index
+3957341899.index
+1070717376.index
+3157227259.index
+3875248338.index
+1198206356.index
+2303258084.index
+1359712097.index
+1769112742.index
+1734602489.index
+1189007535.index
+2424439981.index
+3119809884.index
+1721267593.index
+3634299467.index
+1611075087.index
+2350366299.index
+365746132.index
+89072084.index
+1928036885.index
+2305881512.index
+718386263.index
+3829351191.index
+1022003584.index
+3188207552.index
+1847729490.index
+664202523.index
+2264959299.index
+3998409534.index
+1568666669.index
+208370467.index
+4267884898.index
+4217538243.index
+1791498496.index
+1877060153.index
+149203752.index
+2896310024.index
+2281424657.index
+2501865248.index
+1514218975.index
+1714592054.index
+2454880698.index
+3673728484.index
+3657879174.index
+2409005450.index
+936311843.index
+1199027344.index
+1729742098.index
+1737441395.index
+1468360981.index
+2119276847.index
+1989682271.index
+2691718362.index
+2241609340.index
+1207630805.index
+686465974.index
+3803692344.index
+2159999914.index
+2095122793.index
+2464122576.index
+3765020915.index
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
new file mode 100644
index 0000000..7a4faa6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml b/eclipse/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
new file mode 100644
index 0000000..423694d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<dirs>
+<entry loc="/usr/lib/jvm/java-7-oracle" stamp="1457892465000"/>
+</dirs>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml b/eclipse/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
new file mode 100644
index 0000000..013f6aa
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<libraryInfos>
+<libraryInfo home="/usr/lib/jvm/java-7-oracle/jre" version="1.7.0_80">
+<bootpath>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/resources.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/rt.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/sunrsasign.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/jsse.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/jce.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/charsets.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/jfr.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/ext"/>
+<entry path="/usr/java/packages/lib/ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+<libraryInfo home="/usr/lib/jvm/java-7-oracle" version="1.7.0_80">
+<bootpath>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/resources.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/rt.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/sunrsasign.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/jsse.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/jce.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/charsets.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/jfr.jar"/>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/ext"/>
+<entry path="/usr/java/packages/lib/ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="/usr/lib/jvm/java-7-oracle/jre/lib/endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+</libraryInfos>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
new file mode 100644
index 0000000..a4ee3cb
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<typeInfoHistroy/>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
new file mode 100644
index 0000000..3faedf1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<qualifiedTypeNameHistroy>
+<fullyQualifiedTypeName name="net.minecraft.util.MovingObjectPosition.MovingObjectType"/>
+<fullyQualifiedTypeName name="net.minecraft.client.multiplayer.WorldClient"/>
+<fullyQualifiedTypeName name="org.lwjgl.opengl.GL11"/>
+<fullyQualifiedTypeName name="net.minecraft.client.renderer.OpenGlHelper"/>
+<fullyQualifiedTypeName name="net.minecraft.util.MovingObjectPosition"/>
+<fullyQualifiedTypeName name="net.minecraft.client.renderer.RenderGlobal"/>
+<fullyQualifiedTypeName name="net.minecraft.client.Minecraft"/>
+<fullyQualifiedTypeName name="ihl.IHLMod"/>
+<fullyQualifiedTypeName name="ihl.interfaces.ISelectionBoxSpecialRenderer"/>
+<fullyQualifiedTypeName name="net.minecraft.util.AxisAlignedBB"/>
+<fullyQualifiedTypeName name="java.lang.Math"/>
+<fullyQualifiedTypeName name="ic2.api.energy.tile.IEnergyTile"/>
+<fullyQualifiedTypeName name="net.minecraft.init.Blocks"/>
+<fullyQualifiedTypeName name="ihl.flexible_cable.AnchorTileEntity"/>
+<fullyQualifiedTypeName name="ihl.interfaces.ICableHolder"/>
+<fullyQualifiedTypeName name="net.minecraftforge.common.util.ForgeDirection"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.eventhandler.SubscribeEvent"/>
+<fullyQualifiedTypeName name="net.minecraftforge.event.entity.player.PlayerEvent"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.gameevent.PlayerEvent.PlayerChangedDimensionEvent"/>
+<fullyQualifiedTypeName name="net.minecraft.server.MinecraftServer"/>
+<fullyQualifiedTypeName name="net.minecraft.world.WorldServer"/>
+<fullyQualifiedTypeName name="net.minecraftforge.event.entity.living.LivingDeathEvent"/>
+<fullyQualifiedTypeName name="net.minecraft.client.renderer.entity.RenderManager"/>
+<fullyQualifiedTypeName name="net.minecraft.client.model.ModelRenderer"/>
+<fullyQualifiedTypeName name="ihl.items_blocks.IHLTool"/>
+<fullyQualifiedTypeName name="ihl.recipes.RecipeInputDie"/>
+<fullyQualifiedTypeName name="net.minecraft.util.StatCollector"/>
+<fullyQualifiedTypeName name="net.minecraftforge.fluids.IFluidContainerItem"/>
+<fullyQualifiedTypeName name="net.minecraft.nbt.NBTTagCompound"/>
+<fullyQualifiedTypeName name="ihl.interfaces.IEnergyNetNode"/>
+<fullyQualifiedTypeName name="net.minecraft.tileentity.TileEntity"/>
+<fullyQualifiedTypeName name="ihl.flexible_cable.RectifierTransformerUnitTileEntity"/>
+<fullyQualifiedTypeName name="ic2.core.block.TileEntityInventory"/>
+<fullyQualifiedTypeName name="ic2.api.energy.tile.IEnergyConductor"/>
+<fullyQualifiedTypeName name="ic2.api.energy.tile.IEnergySource"/>
+<fullyQualifiedTypeName name="ic2.api.energy.tile.IEnergySink"/>
+<fullyQualifiedTypeName name="ihl.utils.IHLUtils"/>
+<fullyQualifiedTypeName name="ihl.interfaces.IMultiPowerCableHolder"/>
+<fullyQualifiedTypeName name="ic2.core.IC2"/>
+<fullyQualifiedTypeName name="net.minecraft.client.renderer.Tessellator"/>
+<fullyQualifiedTypeName name="ihl.items_blocks.FlexibleCableItem"/>
+<fullyQualifiedTypeName name="ihl.datanet.DataCableItem"/>
+<fullyQualifiedTypeName name="net.minecraft.inventory.Slot"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.Mod"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.Mod.EventHandler"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.event.FMLPostInitializationEvent"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.event.FMLPreInitializationEvent"/>
+<fullyQualifiedTypeName name="ic2.core.Ic2Items"/>
+<fullyQualifiedTypeName name="net.minecraft.item.ItemBlock"/>
+<fullyQualifiedTypeName name="ic2.core.item.block.ItemBlockIC2"/>
+<fullyQualifiedTypeName name="ic2.core.block.BlockBase"/>
+<fullyQualifiedTypeName name="ic2.core.init.InternalName"/>
+<fullyQualifiedTypeName name="ic2.core.item.block.ItemCable"/>
+<fullyQualifiedTypeName name="net.minecraft.item.ItemStack"/>
+<fullyQualifiedTypeName name="net.minecraft.entity.player.EntityPlayer"/>
+<fullyQualifiedTypeName name="net.minecraft.world.World"/>
+<fullyQualifiedTypeName name="net.minecraft.item.Item"/>
+<fullyQualifiedTypeName name="net.minecraft.creativetab.CreativeTabs"/>
+<fullyQualifiedTypeName name="java.util.List"/>
+<fullyQualifiedTypeName name="cpw.mods.fml.common.event.FMLConstructionEvent"/>
+</qualifiedTypeNameHistroy>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
new file mode 100644
index 0000000..41c8d27
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <item value="/home/foghrye4/Programs/Forge 1.7.10/lib" key="org.eclipse.jdt.ui.lastextjar"/>
+ <section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
+ <item value="2" key="layout"/>
+ <item value="true" key="group_libraries"/>
+ <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0A;&lt;packageExplorer group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;Aggregate for window 1447493118918&quot;&gt;&#x0A;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;&gt;&#x0A;&lt;xmlDefinedFilters&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.mylyn.java.ui.MembersFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.m2e.MavenModuleFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;/xmlDefinedFilters&gt;&#x0A;&lt;/customFilters&gt;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>
+ <item value="false" key="linkWithEditor"/>
+ <item value="1" key="rootMode"/>
+ </section>
+ <section name="org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog">
+ <item value="true" key="ShowStatusLine"/>
+ <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0A;&lt;History/&gt;" key="History"/>
+ <section name="DialogBoundsSettings">
+ <item value="600" key="DIALOG_WIDTH"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ <item value="500" key="DIALOG_HEIGHT"/>
+ <item value="33" key="DIALOG_Y_ORIGIN"/>
+ <item value="50" key="DIALOG_X_ORIGIN"/>
+ </section>
+ </section>
+ <section name="NewClassWizardPage">
+ <item value="false" key="create_constructor"/>
+ <item value="true" key="create_unimplemented"/>
+ </section>
+ <section name="OptionalMessageDialog.hide.">
+ <item value="true" key="org.eclipse.jdt.ui.typecomment.deprecated"/>
+ </section>
+ <section name="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy">
+ <item value="true" key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_USE_PERSISTED_SIZE"/>
+ <item value="354" key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_HEIGHT"/>
+ <item value="400" key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_WIDTH"/>
+ <item value="false" key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_USE_PERSISTED_LOCATION"/>
+ </section>
+ <section name="org.eclipse.jdt.internal.ui.dialogs.OpenTypeSelectionDialog2">
+ <item value="true" key="ShowStatusLine"/>
+ <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0A;&lt;workingSet workingSetName=&quot;&quot;/&gt;" key="WorkingSet"/>
+ <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0A;&lt;History/&gt;" key="History"/>
+ <section name="DialogBoundsSettings">
+ <item value="600" key="DIALOG_WIDTH"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ <item value="500" key="DIALOG_HEIGHT"/>
+ <item value="181" key="DIALOG_Y_ORIGIN"/>
+ <item value="340" key="DIALOG_X_ORIGIN"/>
+ </section>
+ </section>
+ <section name="org.eclipse.jdt.internal.ui.wizards.buildpaths.NewVariableEntryDialog">
+ <item value="723" key="DIALOG_WIDTH"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ <item value="388" key="DIALOG_HEIGHT"/>
+ <item value="-4" key="DIALOG_Y_ORIGIN"/>
+ <item value="52" key="DIALOG_X_ORIGIN"/>
+ </section>
+ <section name="ClasspathContainerSelectionPage">
+ <item value="3" key="index"/>
+ </section>
+ <section name="BuildPathsPropertyPage">
+ <item value="2" key="pageIndex"/>
+ </section>
+ <section name="quick_assist_proposal_size">
+ </section>
+ <section name="NewPackageWizardPage">
+ <item value="false" key="create_package_info_java"/>
+ </section>
+ <section name="completion_proposal_size">
+ <item value="348" key="size.y"/>
+ <item value="636" key="size.x"/>
+ </section>
+ <section name="JavaElementSearchActions">
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/devhelp.libhover b/eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/devhelp.libhover
new file mode 100644
index 0000000..62434b4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/devhelp.libhover
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/glibc_library.libhover b/eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/glibc_library.libhover
new file mode 100644
index 0000000..c7dd073
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.linuxtools.cdt.libhover/C/glibc_library.libhover
Binary files differ
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.history
new file mode 100644
index 0000000..7c1281c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.utils.Sizeof.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.utils{Sizeof.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1448204447895" subPackages="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.index
new file mode 100644
index 0000000..b3ed11b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/47/refactorings.index
@@ -0,0 +1 @@
+1448204447895 Delete element
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.history
new file mode 100644
index 0000000..e27cba4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Copy element &apos;ImpregnatingMachineBlockRender.java&apos; to &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original element: &apos;ihl.model.ImpregnatingMachineBlockRender.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.model" element1="/src\/main\/java&lt;ihl.model{ImpregnatingMachineBlockRender.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1448783302497" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;ImpregnatingMachineBlockRender.java&apos; to &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original element: &apos;ihl.model.ImpregnatingMachineBlockRender.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.model" element1="/src\/main\/java&lt;ihl.model{ImpregnatingMachineBlockRender.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1448812448612" units="1" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.index
new file mode 100644
index 0000000..f493475
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/11/48/refactorings.index
@@ -0,0 +1,2 @@
+1448783302497 Copy compilation unit
+1448812448612 Copy compilation unit
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.history
new file mode 100644
index 0000000..cb52d08
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.utils.XMLParser.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.utils{XMLParser.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1449317466925" subPackages="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.index
new file mode 100644
index 0000000..f581331
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/49/refactorings.index
@@ -0,0 +1 @@
+1449317466925 Delete element
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.history
new file mode 100644
index 0000000..2652cca
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Copy element &apos;CrucibleInventory.java&apos; to &apos;Minecraft/src/main/java/ihl.guidebook&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.guidebook&apos;&#x0A;- Original element: &apos;ihl.processing.metallurgy.CrucibleInventory.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.guidebook" element1="/src\/main\/java&lt;ihl.processing.metallurgy{CrucibleInventory.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1449902899827" units="1" version="1.0"/>&#x0A;<refactoring comment="Move element &apos;IHLGuidebookItem.java&apos; to &apos;Minecraft/src/main/java/ihl.guidebook&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.guidebook&apos;&#x0A;- Original element: &apos;ihl.items_blocks.IHLGuidebookItem.java&apos;&#x0A;- Update references to refactored element" description="Move compilation unit" destination="/src\/main\/java&lt;ihl.guidebook" element1="/src\/main\/java&lt;ihl.items_blocks{IHLGuidebookItem.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" patterns="*" policy="org.eclipse.jdt.ui.moveResources" qualified="false" references="true" stamp="1449904995458" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy 5 elements to &apos;Minecraft/src/main/java/ihl.guidebook&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.guidebook&apos;&#x0A;- Original elements:&#x0A; ihl.processing.metallurgy.CrucibleInventory.java&#x0A; ihl.processing.metallurgy.CrucibleSlot.java&#x0A; ihl.processing.metallurgy.CrucibleGui.java&#x0A; ihl.processing.metallurgy.Crucible.java&#x0A; ihl.processing.metallurgy.CrucibleContainer.java" description="Copy compilation units" destination="/src\/main\/java&lt;ihl.guidebook" element1="/src\/main\/java&lt;ihl.processing.metallurgy{CrucibleInventory.java" element2="/src\/main\/java&lt;ihl.processing.metallurgy{CrucibleSlot.java" element3="/src\/main\/java&lt;ihl.processing.metallurgy{CrucibleGui.java" element4="/src\/main\/java&lt;ihl.processing.metallurgy{Crucible.java" element5="/src\/main\/java&lt;ihl.processing.metallurgy{CrucibleContainer.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1449907814319" units="5" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;IHLGuidebookGui.txt&apos;" description="Delete element" element1="src/main/java/ihl/guidebook/IHLGuidebookGui.txt" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1449909203262" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete 3 elements from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original elements:&#x0A; IHLGuidebookContainer.txt&#x0A; IHLGuidebookInventory.txt&#x0A; IHLGuidebookItem.txt" description="Delete elements" element1="src/main/java/ihl/guidebook/IHLGuidebookContainer.txt" element2="src/main/java/ihl/guidebook/IHLGuidebookInventory.txt" element3="src/main/java/ihl/guidebook/IHLGuidebookItem.txt" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="3" stamp="1449910163426" subPackages="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.index
new file mode 100644
index 0000000..451e649
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/50/refactorings.index
@@ -0,0 +1,5 @@
+1449902899827 Copy compilation unit
+1449904995458 Move compilation unit
+1449907814319 Copy compilation units
+1449909203262 Delete element
+1449910163426 Delete elements
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.history
new file mode 100644
index 0000000..9ce171f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete 2 elements from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original elements:&#x0A; ihl.flexible_cable.GroundingModel.java&#x0A; ihl.flexible_cable.GroundingTileEntity.java" description="Delete elements" element1="/src\/main\/java&lt;ihl.flexible_cable{GroundingTileEntity.java" element2="/src\/main\/java&lt;ihl.flexible_cable{GroundingModel.java" elements="2" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450089654434" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;EntityDropEventHandler.java&apos; to &apos;Minecraft/src/main/java/ihl.utils&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.utils&apos;&#x0A;- Original element: &apos;ihl.utils.EntityDropEventHandler.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.utils" element1="/src\/main\/java&lt;ihl.utils{EntityDropEventHandler.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450174627972" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;Details.java&apos; to &apos;Minecraft/src/main/java/ihl.metallurgy.constants&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.metallurgy.constants&apos;&#x0A;- Original element: &apos;ihl.metallurgy.constants.Details.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.metallurgy.constants" element1="/src\/main\/java&lt;ihl.metallurgy.constants{Details.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450270525061" units="1" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.items_blocks.WireItem.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.items_blocks{WireItem.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450294261175" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.IHLCable.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.flexible_cable{IHLCable.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450295155109" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.IHLCableSet.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.flexible_cable{IHLCableSet.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450295891020" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;BatterySwitchUnitTileEntity.java&apos; to &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.BatterySwitchUnitTileEntity.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.flexible_cable" element1="/src\/main\/java&lt;ihl.flexible_cable{BatterySwitchUnitTileEntity.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450345641065" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;ElectricConductor.java&apos; to &apos;Minecraft/src/main/java/ihl.metallurgy.constants&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.metallurgy.constants&apos;&#x0A;- Original element: &apos;ihl.metallurgy.constants.ElectricConductor.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.metallurgy.constants" element1="/src\/main\/java&lt;ihl.metallurgy.constants{ElectricConductor.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450347077852" units="1" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.items_blocks.CopyOfIHLTool.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.items_blocks{CopyOfIHLTool.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450376384778" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Copy 4 elements to &apos;Minecraft/src/main/java/ihl.processing.metallurgy&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.processing.metallurgy&apos;&#x0A;- Original elements:&#x0A; ihl.processing.chemistry.LoomTileEntity.java&#x0A; ihl.processing.chemistry.LoomModel.java&#x0A; ihl.processing.chemistry.LoomGui.java&#x0A; ihl.processing.chemistry.LoomContainer.java" description="Copy compilation units" destination="/src\/main\/java&lt;ihl.processing.metallurgy" element1="/src\/main\/java&lt;ihl.processing.chemistry{LoomTileEntity.java" element2="/src\/main\/java&lt;ihl.processing.chemistry{LoomModel.java" element3="/src\/main\/java&lt;ihl.processing.chemistry{LoomGui.java" element4="/src\/main\/java&lt;ihl.processing.chemistry{LoomContainer.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450388733267" units="4" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;RecipeInputWire.java&apos; to &apos;Minecraft/src/main/java/ihl.recipes&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.recipes&apos;&#x0A;- Original element: &apos;ihl.recipes.RecipeInputWire.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.recipes" element1="/src\/main\/java&lt;ihl.recipes{RecipeInputWire.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450434282814" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;RecipeInputFluidStack.java&apos; to &apos;Minecraft/src/main/java/ihl.recipes&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.recipes&apos;&#x0A;- Original element: &apos;ihl.recipes.RecipeInputFluidStack.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.recipes" element1="/src\/main\/java&lt;ihl.recipes{RecipeInputFluidStack.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450440067213" units="1" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.recipes.RecipeInputAnything.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.recipes{RecipeInputAnything.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450558419236" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.NodeModel.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.flexible_cable{NodeModel.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450612747529" subPackages="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.index
new file mode 100644
index 0000000..cd92db1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/51/refactorings.index
@@ -0,0 +1,14 @@
+1450089654434 Delete elements
+1450174627972 Copy compilation unit
+1450270525061 Copy compilation unit
+1450294261175 Delete element
+1450295155109 Delete element
+1450295891020 Delete element
+1450345641065 Copy compilation unit
+1450347077852 Copy compilation unit
+1450376384778 Delete element
+1450388733267 Copy compilation units
+1450434282814 Copy compilation unit
+1450440067213 Copy compilation unit
+1450558419236 Delete element
+1450612747529 Delete element
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.history
new file mode 100644
index 0000000..f9ae7f4
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Copy element &apos;NodeEntity.java&apos; to &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.NodeEntity.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.flexible_cable" element1="/src\/main\/java&lt;ihl.flexible_cable{NodeEntity.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450729504655" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;FlameEntityFX.java&apos; to &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original element: &apos;ihl.servitor.FlameEntityFX.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.flexible_cable" element1="/src\/main\/java&lt;ihl.servitor{FlameEntityFX.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1450813916101" units="1" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.utils.PacketIHLParticle.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.utils{PacketIHLParticle.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450911766204" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.utils.IHLNetworkHandlerClient.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.utils{IHLNetworkHandlerClient.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1450913996903" subPackages="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.index
new file mode 100644
index 0000000..986a905
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/12/52/refactorings.index
@@ -0,0 +1,4 @@
+1450729504655 Copy compilation unit
+1450813916101 Copy compilation unit
+1450911766204 Delete element
+1450913996903 Delete element
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.history
new file mode 100644
index 0000000..56f2b18
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Copy element &apos;ImpregnatingMachineBlockRender.java&apos; to &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original element: &apos;ihl.model.ImpregnatingMachineBlockRender.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.model" element1="/src\/main\/java&lt;ihl.model{ImpregnatingMachineBlockRender.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1454794641320" units="1" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete 6 elements from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original elements:&#x0A; Minecraft/src/main/java/ihl.model.RectifierTransformerUnit.client.MCAClientLibrary&#x0A; Minecraft/src/main/java/ihl.model.RectifierTransformerUnit.common&#x0A; Minecraft/src/main/java/ihl.model.RectifierTransformerUnit.common.animations.RectifierTransformerUnit&#x0A; Minecraft/src/main/java/ihl.model.RectifierTransformerUnit.common.MCACommonLibrary&#x0A; Minecraft/src/main/java/ihl.model.RectifierTransformerUnit.common.MCACommonLibrary.animation&#x0A; Minecraft/src/main/java/ihl.model.RectifierTransformerUnit.common.MCACommonLibrary.math" description="Delete elements" element1="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.common.animations.RectifierTransformerUnit" element2="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.common.animations" element3="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.common.MCACommonLibrary.math" element4="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.common.MCACommonLibrary.animation" element5="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.common.MCACommonLibrary" element6="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.common" element7="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.client.MCAClientLibrary" elements="7" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1454839182853" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Move element &apos;ModelRectifierTransformerUnit.java&apos; to &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original element: &apos;ihl.model.RectifierTransformerUnit.client.ModelRectifierTransformerUnit.java&apos;&#x0A;- Update references to refactored element" description="Move compilation unit" destination="/src\/main\/java&lt;ihl.model" element1="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.client{ModelRectifierTransformerUnit.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" patterns="*" policy="org.eclipse.jdt.ui.moveResources" qualified="false" references="true" stamp="1454839307200" units="1" version="1.0"/>&#x0A;&#x0A;<refactoring accessors="true" comment="Delete 2 elements from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original elements:&#x0A; ihl.model.ModelRectifierTransformerUnit.java&#x0A; Minecraft/src/main/java/ihl.model.RectifierTransformerUnit.client" description="Delete elements" element1="/src\/main\/java&lt;ihl.model{ModelRectifierTransformerUnit.java" element2="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit.client" element3="/src\/main\/java&lt;ihl.model.RectifierTransformerUnit" elements="3" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1454839499885" subPackages="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.index
new file mode 100644
index 0000000..40c1fd8
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/6/refactorings.index
@@ -0,0 +1,4 @@
+1454794641320 Copy compilation unit
+1454839182853 Delete elements
+1454839307200 Move compilation unit
+1454839499885 Delete elements
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.history
new file mode 100644
index 0000000..5e64637
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Copy element &apos;CableHolderSelectionBoxSpecialRenderer.java&apos; to &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original element: &apos;ihl.model.CableHolderSelectionBoxSpecialRenderer.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.model" element1="/src\/main\/java&lt;ihl.model{CableHolderSelectionBoxSpecialRenderer.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1455451728915" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;SubAnchorEnergyNetNode.java&apos; to &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.flexible_cable&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.SubAnchorEnergyNetNode.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.flexible_cable" element1="/src\/main\/java&lt;ihl.flexible_cable{SubAnchorEnergyNetNode.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1455467158802" units="1" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.index
new file mode 100644
index 0000000..b59744c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/7/refactorings.index
@@ -0,0 +1,2 @@
+1455451728915 Copy compilation unit
+1455467158802 Copy compilation unit
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.history
new file mode 100644
index 0000000..11c233d
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.RectifierTransformerUnitModel.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.flexible_cable{RectifierTransformerUnitModel.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1456166941479" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.FrequencyGeneratorTileEntity.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.flexible_cable{FrequencyGeneratorTileEntity.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1456166946635" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;BlockItemRender.java&apos; to &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original element: &apos;ihl.tunneling_shield.BlockItemRender.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.model" element1="/src\/main\/java&lt;ihl.tunneling_shield{BlockItemRender.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1456410677609" units="1" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.index
new file mode 100644
index 0000000..d18072c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/2/9/refactorings.index
@@ -0,0 +1,3 @@
+1456166941479 Delete element
+1456166946635 Delete element
+1456410677609 Copy compilation unit
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.history
new file mode 100644
index 0000000..33aa95b
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Copy element &apos;IItemMiniGUI.java&apos; to &apos;Minecraft/src/main/java/ihl.interfaces&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.interfaces&apos;&#x0A;- Original element: &apos;ihl.interfaces.IItemMiniGUI.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.interfaces" element1="/src\/main\/java&lt;ihl.interfaces{IItemMiniGUI.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1456923738044" units="1" version="1.0"/>&#x0A;<refactoring comment="Copy element &apos;RectifierTransformerUnitBlockRender.java&apos; to &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/ihl.model&apos;&#x0A;- Original element: &apos;ihl.model.RectifierTransformerUnitBlockRender.java&apos;" description="Copy compilation unit" destination="/src\/main\/java&lt;ihl.model" element1="/src\/main\/java&lt;ihl.model{RectifierTransformerUnitBlockRender.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1457183209471" units="1" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original element: &apos;ihl.flexible_cable.IronWorkbenchBlock.java&apos;" description="Delete element" element1="/src\/main\/java&lt;ihl.flexible_cable{IronWorkbenchBlock.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1457184376264" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Copy 2 elements to &apos;Minecraft/src/main/java/rapid_electric_grid_setup&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Destination element: &apos;Minecraft/src/main/java/rapid_electric_grid_setup&apos;&#x0A;- Original elements:&#x0A; ihl.IHLModInfo.java&#x0A; ihl.IHLMod.java" description="Copy compilation units" destination="/src\/main\/java&lt;rapid_electric_grid_setup" element1="/src\/main\/java&lt;ihl{IHLModInfo.java" element2="/src\/main\/java&lt;ihl{IHLMod.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1457201899287" units="2" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.index
new file mode 100644
index 0000000..8196144
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/10/refactorings.index
@@ -0,0 +1,4 @@
+1456923738044 Copy compilation unit
+1457183209471 Copy compilation unit
+1457184376264 Delete element
+1457201899287 Copy compilation units
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.history
new file mode 100644
index 0000000..beaab63
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring accessors="true" comment="Delete 2 elements from project &apos;Minecraft&apos;&#x0A;- Original project: &apos;Minecraft&apos;&#x0A;- Original elements:&#x0A; Minecraft/src/main/java/rapid_electric_grid_setup&#x0A; Minecraft/src/main/java/utils" description="Delete elements" element1="/src\/main\/java&lt;utils" element2="/src\/main\/java&lt;rapid_electric_grid_setup" elements="2" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1457973342866" subPackages="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.index
new file mode 100644
index 0000000..e1296c8
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2016/3/12/refactorings.index
@@ -0,0 +1 @@
+1457973342866 Delete elements
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
new file mode 100644
index 0000000..8534ef6
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="RefactoringWizard.preview">
+ <item value="600" key="width"/>
+ <item value="400" key="height"/>
+ </section>
+ <section name="org.eclipse.ltk.ui.refactoring.settings">
+ <item value="false" key="deleteSubPackages"/>
+ <item value="false" key="moveWizard.updateQualifiedNames"/>
+ <item value="*" key="patterns"/>
+ </section>
+ <section name="RefactoringStatusDialog">
+ <item value="800" key="DIALOG_WIDTH"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ <item value="487" key="DIALOG_HEIGHT"/>
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log b/eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
diff --git a/eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml b/eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml
new file mode 100644
index 0000000..e33758c
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml
@@ -0,0 +1,43 @@
+<configuration scan="true">
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
+ </encoder>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>OFF</level> <!-- change to DEBUG to mimic '-consolelog' behaviour -->
+ </filter>
+ </appender>
+
+ <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <File>${org.eclipse.m2e.log.dir}/0.log</File>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <FileNamePattern>${org.eclipse.m2e.log.dir}/%i.log</FileNamePattern>
+ <MinIndex>1</MinIndex>
+ <MaxIndex>10</MaxIndex>
+ </rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <MaxFileSize>100MB</MaxFileSize>
+ </triggeringPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EclipseLog" class="org.eclipse.m2e.logback.appender.EclipseLogAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>WARN</level>
+ </filter>
+ </appender>
+
+ <appender name="MavenConsoleLog" class="org.eclipse.m2e.logback.appender.MavenConsoleAppender">
+ </appender>
+
+ <root level="INFO">
+ <appender-ref ref="FILE" />
+ <appender-ref ref="STDOUT" />
+ <appender-ref ref="EclipseLog" />
+ <appender-ref ref="MavenConsoleLog" />
+ </root>
+
+ <logger name="com.ning.http.client" level="INFO" />
+</configuration>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup b/eclipse/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
new file mode 100644
index 0000000..1f73e14
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Workspace
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
+ name="workspace"/>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/eclipse/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
new file mode 100644
index 0000000..a4be163
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
@@ -0,0 +1,2 @@
+#Cached timestamps
+#Sat Mar 05 22:55:54 MSK 2016
diff --git a/eclipse/.metadata/.plugins/org.eclipse.rse.core/.log b/eclipse/.metadata/.plugins/org.eclipse.rse.core/.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.rse.core/.log
diff --git a/eclipse/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark b/eclipse/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark
diff --git a/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/FP.local.files_0/node.properties b/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/FP.local.files_0/node.properties
new file mode 100644
index 0000000..b0ccf2e
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/FP.local.files_0/node.properties
@@ -0,0 +1,57 @@
+# RSE DOM Node
+00-name=foghrye4-GA-A75-D3H\:local.files
+01-type=FilterPool
+03-attr.default=true
+03-attr.deletable=true
+03-attr.id=local.files
+03-attr.nonRenamable=false
+03-attr.owningParentName=null
+03-attr.release=200
+03-attr.singleFilterStringOnly=false
+03-attr.singleFilterStringOnlyESet=false
+03-attr.stringsCaseSensitive=true
+03-attr.supportsDuplicateFilterStrings=false
+03-attr.supportsNestedFilters=true
+03-attr.type=default
+06-child.00000.00-name=My Home
+06-child.00000.01-type=Filter
+06-child.00000.03-attr.default=false
+06-child.00000.03-attr.filterType=default
+06-child.00000.03-attr.id=My Home
+06-child.00000.03-attr.nonChangable=false
+06-child.00000.03-attr.nonDeletable=false
+06-child.00000.03-attr.nonRenamable=false
+06-child.00000.03-attr.promptable=false
+06-child.00000.03-attr.relativeOrder=0
+06-child.00000.03-attr.release=200
+06-child.00000.03-attr.singleFilterStringOnly=false
+06-child.00000.03-attr.stringsCaseSensitive=true
+06-child.00000.03-attr.stringsNonChangable=false
+06-child.00000.03-attr.supportsDuplicateFilterStrings=false
+06-child.00000.03-attr.supportsNestedFilters=true
+06-child.00000.06-child.00000.00-name=/home/foghrye4/*
+06-child.00000.06-child.00000.01-type=FilterString
+06-child.00000.06-child.00000.03-attr.default=false
+06-child.00000.06-child.00000.03-attr.string=/home/foghrye4/*
+06-child.00000.06-child.00000.03-attr.type=default
+06-child.00001.00-name=Root
+06-child.00001.01-type=Filter
+06-child.00001.03-attr.default=false
+06-child.00001.03-attr.filterType=default
+06-child.00001.03-attr.id=Root
+06-child.00001.03-attr.nonChangable=false
+06-child.00001.03-attr.nonDeletable=false
+06-child.00001.03-attr.nonRenamable=false
+06-child.00001.03-attr.promptable=false
+06-child.00001.03-attr.relativeOrder=0
+06-child.00001.03-attr.release=200
+06-child.00001.03-attr.singleFilterStringOnly=false
+06-child.00001.03-attr.stringsCaseSensitive=true
+06-child.00001.03-attr.stringsNonChangable=false
+06-child.00001.03-attr.supportsDuplicateFilterStrings=false
+06-child.00001.03-attr.supportsNestedFilters=true
+06-child.00001.06-child.00000.00-name=/*
+06-child.00001.06-child.00000.01-type=FilterString
+06-child.00001.06-child.00000.03-attr.default=false
+06-child.00001.06-child.00000.03-attr.string=/*
+06-child.00001.06-child.00000.03-attr.type=default
diff --git a/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/H.local_16/node.properties b/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/H.local_16/node.properties
new file mode 100644
index 0000000..b12a67f
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/H.local_16/node.properties
@@ -0,0 +1,25 @@
+# RSE DOM Node
+00-name=Local
+01-type=Host
+03-attr.description=
+03-attr.hostname=LOCALHOST
+03-attr.offline=false
+03-attr.promptable=false
+03-attr.systemType=org.eclipse.rse.systemtype.local
+03-attr.type=Local
+06-child.00000.00-name=Local Connector Service
+06-child.00000.01-type=ConnectorService
+06-child.00000.03-attr.group=Local Connector Service
+06-child.00000.03-attr.port=0
+06-child.00000.03-attr.useSSL=false
+06-child.00000.06-child.00000.00-name=Local Files
+06-child.00000.06-child.00000.01-type=SubSystem
+06-child.00000.06-child.00000.03-attr.hidden=false
+06-child.00000.06-child.00000.03-attr.type=local.files
+06-child.00000.06-child.00000.06-child.00000.00-name=foghrye4-GA-A75-D3H___foghrye4-GA-A75-D3H\:local.files
+06-child.00000.06-child.00000.06-child.00000.01-type=FilterPoolReference
+06-child.00000.06-child.00000.06-child.00000.03-attr.refID=local.files
+06-child.00000.06-child.00001.00-name=Local Shells
+06-child.00000.06-child.00001.01-type=SubSystem
+06-child.00000.06-child.00001.03-attr.hidden=false
+06-child.00000.06-child.00001.03-attr.type=local.shells
diff --git a/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/node.properties b/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/node.properties
new file mode 100644
index 0000000..7194ec7
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.foghrye4-ga-a75-d3h_837/node.properties
@@ -0,0 +1,7 @@
+# RSE DOM Node
+00-name=foghrye4-GA-A75-D3H
+01-type=Profile
+03-attr.defaultPrivate=true
+03-attr.isActive=true
+05-ref.00000=FP.local.files_0
+05-ref.00001=H.local_16
diff --git a/eclipse/.metadata/.plugins/org.eclipse.rse.ui/.log b/eclipse/.metadata/.plugins/org.eclipse.rse.ui/.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.rse.ui/.log
diff --git a/eclipse/.metadata/.plugins/org.eclipse.search/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.search/dialog_settings.xml
new file mode 100644
index 0000000..8675219
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.search/dialog_settings.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="">
+ <item value="1000" key="org.eclipse.search.resultpage.limit"/>
+ </section>
+ <section name="">
+ <item value="1000" key="org.eclipse.search.resultpage.limit"/>
+ </section>
+ <section name="DialogBounds_SearchDialog">
+ <item value="641" key="DIALOG_WIDTH"/>
+ <item value="185" key="DIALOG_Y_ORIGIN"/>
+ <item value="633" key="DIALOG_HEIGHT"/>
+ <item value="305" key="DIALOG_X_ORIGIN"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ </section>
+ <section name="Search">
+ <list key="Search.processedPageIds">
+ <item value="org.eclipse.search.internal.ui.text.TextSearchPage"/>
+ <item value="org.eclipse.egit.ui.commitSearchPage"/>
+ <item value="org.eclipse.jdt.ui.JavaSearchPage"/>
+ <item value="org.eclipse.pde.internal.ui.search.SearchPage"/>
+ </list>
+ <list key="Search.enabledPageIds">
+ <item value="org.eclipse.search.internal.ui.text.TextSearchPage"/>
+ <item value="org.eclipse.egit.ui.commitSearchPage"/>
+ <item value="org.eclipse.jdt.ui.JavaSearchPage"/>
+ <item value="org.eclipse.pde.internal.ui.search.SearchPage"/>
+ </list>
+ </section>
+ <section name="org.eclipse.search.text.FileSearchResultPage">
+ <item value="1000" key="org.eclipse.search.resultpage.limit"/>
+ </section>
+ <section name="SearchDialog">
+ <item value="org.eclipse.search.internal.ui.text.TextSearchPage" key="PREVIOUS_PAGE"/>
+ </section>
+ <section name="TextSearchPage">
+ <item value="false" key="CASE_SENSITIVE"/>
+ <item value="false" key="REG_EX_SEARCH"/>
+ <item value="false" key="SEARCH_DERIVED"/>
+ <item value="false" key="WHOLE_WORD"/>
+ <item value="10" key="HISTORY_SIZE"/>
+ <section name="HISTORY2">
+ <item value="false" key="isRegExSearch"/>
+ <item value="GL_ONE_MI" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="EXTENSIONS">
+ <item value="*" key="0"/>
+ </section>
+ <section name="HISTORY3">
+ <item value="false" key="isRegExSearch"/>
+ <item value="setVirtualNodePos" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY0">
+ <item value="false" key="isRegExSearch"/>
+ <item value="Shape_Empty" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY1">
+ <item value="false" key="isRegExSearch"/>
+ <item value="&quot;resistance&quot;" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY9">
+ <item value="false" key="isRegExSearch"/>
+ <item value="System.out" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY8">
+ <item value="false" key="isRegExSearch"/>
+ <item value="setGrid(" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY5">
+ <item value="false" key="isRegExSearch"/>
+ <item value="virtualNodePosX" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY4">
+ <item value="false" key="isRegExSearch"/>
+ <item value="removeAttachedChains" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY7">
+ <item value="false" key="isRegExSearch"/>
+ <item value="startDrawingQuads()" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY6">
+ <item value="false" key="isRegExSearch"/>
+ <item value="switch(direction)" key="textPattern"/>
+ <item value="0" key="scope"/>
+ <item value="true" key="ignoreCase"/>
+ <item value="false" key="isWholeWord"/>
+ <list key="fileNamePatterns">
+ <item value="*"/>
+ </list>
+ <list key="workingSets">
+ </list>
+ </section>
+ </section>
+ <section name="SearchDialog.ScopePart">
+ <item value="0" key="scope"/>
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.team.ui/syncParticipants.xml b/eclipse/.metadata/.plugins/org.eclipse.team.ui/syncParticipants.xml
new file mode 100644
index 0000000..f7e3799
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.team.ui/syncParticipants.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<syncparticipants/> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml
new file mode 100644
index 0000000..50f1edb
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="quick_assist_proposal_size">
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
new file mode 100644
index 0000000..93fbe49
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="org.eclipse.ui.texteditor.FindReplaceDialog_dialogBounds">
+ <item value="447" key="DIALOG_WIDTH"/>
+ <item value="0" key="DIALOG_Y_ORIGIN"/>
+ <item value="56" key="DIALOG_X_ORIGIN"/>
+ <item value="992" key="DIALOG_HEIGHT"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ </section>
+ <section name="org.eclipse.ui.texteditor.FindReplaceDialog">
+ <item value="true" key="wrap"/>
+ <item value="false" key="casesensitive"/>
+ <item value="false" key="isRegEx"/>
+ <item value="false" key="incremental"/>
+ <item value="false" key="wholeword"/>
+ <item value="hull_mv" key="selection"/>
+ <list key="findhistory">
+ <item value="Once upon a time there was a surgeon. He was a really kind man. So, when amputation was inevitable, he made it gently and very-very slowly."/>
+ <item value="Hull_MV"/>
+ <item value="getEmptyCell"/>
+ <item value="GT_ModHandler.getAirCell"/>
+ <item value="GT_ModHandler.getAirCell(5)"/>
+ <item value="IL.Shape_Empty.get(1, (Object) null)"/>
+ <item value="Shape_Empty."/>
+ <item value="ItemList.Shape_Empty.get(1L, new Object[]{null})"/>
+ </list>
+ <list key="replacehistory">
+ <item value="OreDictManager.INSTANCE.getStack(OP.cell,MT.Air, 5)"/>
+ <item value="OreDictManager.INSTANCE.getStack(OP.cell,MT.Air, 1)"/>
+ <item value="OP.plate.get(MT.Steel)"/>
+ <item value="OP.stick.get(MT.Steel)"/>
+ <item value="OrePrefixes.plate.get(Materials.Steel)"/>
+ <item value="FlexibleCableItemRender"/>
+ <item value="yStart"/>
+ <item value="this."/>
+ </list>
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
new file mode 100644
index 0000000..144e476
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="WorkbenchPreferenceDialogSettings">
+ <item value="-56" key="DIALOG_Y_ORIGIN"/>
+ <item value="-32" key="DIALOG_X_ORIGIN"/>
+ </section>
+ <section name="org.eclipse.ui.internal.QuickAccess">
+ <item value="634" key="dialogHeight"/>
+ <item value="794" key="dialogWidth"/>
+ <list key="textEntries">
+ </list>
+ <list key="orderedElements">
+ </list>
+ <list key="orderedProviders">
+ </list>
+ <list key="textArray">
+ </list>
+ </section>
+ <section name="ImportExportAction">
+ </section>
+</section>
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
new file mode 100644
index 0000000..20e3e05
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workbench progressCount="13" version="2.0">
+<workbenchAdvisor/>
+<window height="767" maximized="true" width="1018" x="0" y="24">
+<fastViewData fastViewLocation="1024"/>
+<perspectiveBar>
+<itemSize x="160"/>
+</perspectiveBar>
+<coolbarLayout>
+<coolItem id="group.file" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="144" y="30"/>
+<coolItem id="additions" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="60" y="30"/>
+<coolItem id="org.eclipse.oomph.ui.toolbars.offline" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.oomph.setup.toolbar" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.linuxtools.systemtap.ui.ide.toolbar" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.linuxtools.rpm.ui.rpmBuildMenu" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.debug.ui.launch.toolbar" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.debug.ui.main.toolbar" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="60" y="30"/>
+<coolItem id="org.eclipse.ui.edit.text.actionSet.presentation" itemType="typeToolBarContribution" x="124" y="30"/>
+<coolItem id="group.nav" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="232" y="30"/>
+<coolItem id="group.editor" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.jdt.ui.CompilationUnitEditor" itemType="typePlaceholder" x="-1" y="-1"/>
+<coolItem id="group.help" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>
+</coolbarLayout>
+<page aggregateWorkingSetId="Aggregate for window 1459575357342" focus="true" label="Workspace - Resource">
+<editors>
+<editorArea activeWorkbook="DefaultEditorWorkbook">
+<info part="DefaultEditorWorkbook">
+<folder appearance="1" expanded="2">
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
+</folder>
+</info>
+</editorArea>
+</editors>
+<views>
+<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
+<viewState/>
+</view>
+<view id="org.eclipse.ui.views.TaskList" partName="Tasks">
+<viewState PRIMARY_SORT_FIELD="org.eclipse.ui.ide.completionField" categoryGroup="none" markerContentGenerator="org.eclipse.ui.ide.tasksGenerator" partName="Tasks">
+<columnWidths org.eclipse.ui.ide.completionField="40" org.eclipse.ui.ide.descriptionField="350" org.eclipse.ui.ide.locationField="105" org.eclipse.ui.ide.markerType="226" org.eclipse.ui.ide.pathField="140" org.eclipse.ui.ide.priorityField="35" org.eclipse.ui.ide.resourceField="105"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.completionField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.priorityField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.descriptionField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.resourceField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.pathField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.locationField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.markerType"/>
+</viewState>
+</view>
+<view id="org.eclipse.ui.navigator.ProjectExplorer" partName="Project Explorer">
+<viewState CommonNavigator.LINKING_ENABLED="0" org.eclipse.ui.navigator.resources.workingSets.showTopLevelWorkingSets="0"/>
+</view>
+</views>
+<perspectives activePart="org.eclipse.ui.navigator.ProjectExplorer" activePerspective="org.eclipse.ui.resourcePerspective">
+<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
+<descriptor class="org.eclipse.ui.internal.ide.application.ResourcePerspective" id="org.eclipse.ui.resourcePerspective" label="Resource"/>
+<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
+<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
+<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>
+<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
+<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
+<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
+<show_view_action id="org.eclipse.ui.navigator.ProjectExplorer"/>
+<show_view_action id="org.eclipse.ui.views.BookmarkView"/>
+<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
+<show_view_action id="org.eclipse.ui.views.PropertySheet"/>
+<show_view_action id="org.eclipse.ui.views.ProblemView"/>
+<show_view_action id="org.eclipse.ui.views.ProgressView"/>
+<show_view_action id="org.eclipse.ui.views.TaskList"/>
+<show_view_action id="org.eclipse.ant.ui.views.AntView"/>
+<show_view_action id="org.eclipse.mylyn.tasks.ui.views.tasks"/>
+<new_wizard_action id="org.eclipse.ui.wizards.new.folder"/>
+<new_wizard_action id="org.eclipse.ui.wizards.new.file"/>
+<new_wizard_action id="org.eclipse.mylyn.tasks.ui.wizards.new.repository.task"/>
+<new_wizard_action id="org.eclipse.ui.editors.wizards.UntitledTextFileWizard"/>
+<perspective_action id="org.eclipse.cdt.ui.CPerspective"/>
+<perspective_action id="org.eclipse.jdt.ui.JavaPerspective"/>
+<perspective_action id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
+<perspective_action id="org.eclipse.team.cvs.ui.cvsPerspective"/>
+<perspective_action id="org.eclipse.team.ui.TeamSynchronizingPerspective"/>
+<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>
+<hide_toolbar_item_id id="org.eclipse.debug.ui.commands.RunToLine"/>
+<hide_toolbar_item_id id="org.eclipse.jdt.ui.actions.OpenProjectWizard"/>
+<view id="org.eclipse.ui.navigator.ProjectExplorer"/>
+<view id="org.eclipse.ui.views.ContentOutline"/>
+<view id="org.eclipse.ui.views.TaskList"/>
+<fastViewBars/>
+<layout>
+<mainWindow>
+<info folder="true" part="topLeft">
+<folder activePageID="org.eclipse.ui.navigator.ProjectExplorer" appearance="2" expanded="2">
+<page content="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer"/>
+<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
+<page content="org.eclipse.ui.views.ResourceNavigator" label="LabelNotFound"/>
+<page content="org.eclipse.team.ccvs.ui.RepositoriesView" label="LabelNotFound"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+</presentation>
+</folder>
+</info>
+<info folder="true" part="stickyFolderRight" ratio="0.7495049" ratioLeft="757" ratioRight="253" relationship="2" relative="topLeft">
+<folder appearance="2" expanded="2">
+<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
+<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
+<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
+</folder>
+</info>
+<info part="org.eclipse.ui.editorss" ratio="0.25940594" ratioLeft="262" ratioRight="748" relationship="2" relative="topLeft"/>
+<info folder="true" part="bottomRight" ratio="0.6596386" ratioLeft="438" ratioRight="226" relationship="4" relative="org.eclipse.ui.editorss">
+<folder activePageID="org.eclipse.ui.views.TaskList" appearance="2" expanded="2">
+<page content="org.eclipse.ui.views.TaskList" label="Tasks"/>
+<page content="org.eclipse.team.ui.GenericHistoryView" label="LabelNotFound"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+</presentation>
+</folder>
+</info>
+<info folder="true" part="bottomLeft" ratio="0.8590022" ratioLeft="792" ratioRight="130" relationship="4" relative="topLeft">
+<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">
+<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
+<page content="org.eclipse.mylyn.tasks.ui.views.tasks" label="LabelNotFound"/>
+<page content="org.eclipse.ant.ui.views.AntView" label="LabelNotFound"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+</presentation>
+</folder>
+</info>
+</mainWindow>
+</layout>
+</perspective>
+</perspectives>
+<workingSets/>
+<navigationHistory/>
+<input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>
+</page>
+<workbenchWindowAdvisor/>
+<actionBarAdvisor/>
+<trimLayout>
+<trimArea IMemento.internal.id="128">
+<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
+</trimArea>
+<trimArea IMemento.internal.id="1024">
+<trimItem IMemento.internal.id="org.eclise.ui.internal.FastViewBar"/>
+<trimItem IMemento.internal.id="org.eclipse.jface.action.StatusLineManager"/>
+<trimItem IMemento.internal.id="org.eclipse.ui.internal.progress.ProgressRegion"/>
+</trimArea>
+</trimLayout>
+</window>
+<mruList>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="IHLModConfig.java" tooltip="Minecraft/src/main/java/ihl/IHLModConfig.java">
+<persistable path="/Minecraft/src/main/java/ihl/IHLModConfig.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="IHLMod.java" tooltip="Minecraft/src/main/java/ihl/IHLMod.java">
+<persistable path="/Minecraft/src/main/java/ihl/IHLMod.java"/>
+</file>
+</mruList>
+</workbench> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
new file mode 100644
index 0000000..b04ab55
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workingSetManager>
+<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1447493118919_0" label="Window Working Set" name="Aggregate for window 1447493118918"/>
+<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1459575357342_1" label="Window Working Set" name="Aggregate for window 1459575357342"/>
+</workingSetManager> \ No newline at end of file
diff --git a/eclipse/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties b/eclipse/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties
new file mode 100644
index 0000000..1ddeeab
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties
@@ -0,0 +1,3 @@
+#
+#Tue Nov 29 20:02:33 MSK 2016
+task-tag-projects-already-scanned=RemoteSystemsTempFiles
diff --git a/eclipse/.metadata/version.ini b/eclipse/.metadata/version.ini
new file mode 100644
index 0000000..bb1aee9
--- /dev/null
+++ b/eclipse/.metadata/version.ini
@@ -0,0 +1,3 @@
+#Tue Nov 29 20:01:59 MSK 2016
+org.eclipse.core.runtime=2
+org.eclipse.platform=4.5.0.v20150603-2000