diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-04-23 18:08:44 +0100 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-04-23 18:08:44 +0100 |
| commit | 05f43b228ae0de5bd33ccd303ebbadfaaa464bc7 (patch) | |
| tree | df2067001e0b28c2d40edc5ccde43830616ec8ce /eclipse/.metadata | |
| parent | 2a7e0a624f482a28af1c770dbcf2a20f52f94f78 (diff) | |
Added new curses!
Diffstat (limited to 'eclipse/.metadata')
301 files changed, 34642 insertions, 18962 deletions
diff --git a/eclipse/.metadata/.log b/eclipse/.metadata/.log index 855b84a..5edbe1c 100644 --- a/eclipse/.metadata/.log +++ b/eclipse/.metadata/.log @@ -7326,3 +7326,378 @@ Java Model Exception: Java Model Status [<default> [in dependencies/main/java/tc !ENTRY org.eclipse.core.jobs 2 2 2015-04-19 03:28:16.550 !MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.core.internal.refresh.RefreshJob +!SESSION 2015-04-19 20:31:25.493 ----------------------------------------------- +eclipse.buildId=4.4.1.M20140925-0400 +java.version=1.8.0_31 +java.vendor=Oracle Corporation +BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US +Framework arguments: -product org.eclipse.epp.package.java.product +Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product + +!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-19 20:31:39.338 +!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String +!STACK 0 +java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String + at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26) + at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189) + at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144) + at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107) + at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62) + at java.util.TimerThread.mainLoop(Unknown Source) + at java.util.TimerThread.run(Unknown Source) + +!ENTRY org.eclipse.egit.ui 2 0 2015-04-19 20:32:09.439 +!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.egit.ui 2 0 2015-04-19 20:32:09.453 +!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git +user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is +not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and +EGit might behave differently since they see different configuration options. +This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. + +!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-19 21:16:10.842 +!MESSAGE Cannot obtain JDT’s lookup environment (debug only). +!STACK 0 +org.eclipse.recommenders.utils.Logs$LogTraceException + at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:130) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:122) + at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282) + at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505) + at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499) + at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378) + at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) + at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136) + at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) + at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) + 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(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) + at org.eclipse.equinox.launcher.Main.run(Main.java:1465) + at org.eclipse.equinox.launcher.Main.main(Main.java:1438) + +!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-19 21:29:32.921 +!MESSAGE Cannot obtain JDT’s lookup environment (debug only). +!STACK 0 +org.eclipse.recommenders.utils.Logs$LogTraceException + at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:130) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:122) + at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282) + at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505) + at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499) + at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378) + at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) + at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136) + at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) + at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) + 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(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) + at org.eclipse.equinox.launcher.Main.run(Main.java:1465) + at org.eclipse.equinox.launcher.Main.main(Main.java:1438) +!SESSION 2015-04-20 09:59:42.291 ----------------------------------------------- +eclipse.buildId=4.4.1.M20140925-0400 +java.version=1.8.0_31 +java.vendor=Oracle Corporation +BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US +Framework arguments: -product org.eclipse.epp.package.java.product +Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product + +!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-20 09:59:53.566 +!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String +!STACK 0 +java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String + at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26) + at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189) + at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144) + at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107) + at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62) + at java.util.TimerThread.mainLoop(Unknown Source) + at java.util.TimerThread.run(Unknown Source) + +!ENTRY org.eclipse.egit.ui 2 0 2015-04-20 10:00:16.897 +!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.egit.ui 2 0 2015-04-20 10:00:16.921 +!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git +user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is +not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and +EGit might behave differently since they see different configuration options. +This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. + +!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-20 10:20:55.011 +!MESSAGE Cannot obtain JDT’s lookup environment (debug only). +!STACK 0 +org.eclipse.recommenders.utils.Logs$LogTraceException + at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:130) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:122) + at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282) + at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505) + at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499) + at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378) + at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) + at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136) + at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147) + at org.eclipse.swt.widgets.Display.msgFilterProc(Display.java:3479) + at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method) + at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:256) + at org.eclipse.swt.widgets.Display.runPopups(Display.java:4213) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3755) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) + at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) + 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(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) + at org.eclipse.equinox.launcher.Main.run(Main.java:1465) + at org.eclipse.equinox.launcher.Main.main(Main.java:1438) + +!ENTRY org.eclipse.core.resources 4 566 2015-04-20 12:17:06.858 +!MESSAGE Workspace was not properly initialized or has already shutdown. + +!ENTRY org.eclipse.core.jobs 4 1 2015-04-20 12:17:06.878 +!MESSAGE Worker thread ended job: Refreshing workspace(10), but still holds rule: ThreadJob(Refreshing workspace(10),[F/Minecraft/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history]) + +!ENTRY org.eclipse.core.resources 4 566 2015-04-20 12:17:06.925 +!MESSAGE Workspace was not properly initialized or has already shutdown. +!SESSION 2015-04-20 15:25:58.042 ----------------------------------------------- +eclipse.buildId=4.4.1.M20140925-0400 +java.version=1.8.0_31 +java.vendor=Oracle Corporation +BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US +Framework arguments: -product org.eclipse.epp.package.java.product +Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product + +!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-20 15:26:00.908 +!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String +!STACK 0 +java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String + at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26) + at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189) + at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144) + at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107) + at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62) + at java.util.TimerThread.mainLoop(Unknown Source) + at java.util.TimerThread.run(Unknown Source) + +!ENTRY org.eclipse.egit.ui 2 0 2015-04-20 15:26:14.120 +!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.egit.ui 2 0 2015-04-20 15:26:14.139 +!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git +user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is +not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and +EGit might behave differently since they see different configuration options. +This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. + +!ENTRY org.eclipse.recommenders.calls.rcp 2 1 2015-04-20 16:47:35.614 +!MESSAGE Cannot obtain JDT’s lookup environment (debug only). +!STACK 0 +org.eclipse.recommenders.utils.Logs$LogTraceException + at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:130) + at org.eclipse.recommenders.utils.Logs.log(Logs.java:122) + at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.startSession(CallCompletionSessionProcessor.java:104) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireStartSession(IntelligentCompletionProposalComputer.java:229) + at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:131) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333) + at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:325) + at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:282) + at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1861) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505) + at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) + at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499) + at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:378) + at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) + at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136) + at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147) + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) + at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) + at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) + 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(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) + at org.eclipse.equinox.launcher.Main.run(Main.java:1465) + at org.eclipse.equinox.launcher.Main.main(Main.java:1438) +!SESSION 2015-04-21 12:52:58.568 ----------------------------------------------- +eclipse.buildId=4.4.1.M20140925-0400 +java.version=1.8.0_31 +java.vendor=Oracle Corporation +BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US +Framework arguments: -product org.eclipse.epp.package.java.product +Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product + +!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-21 12:53:11.474 +!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String +!STACK 0 +java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String + at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26) + at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189) + at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144) + at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107) + at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62) + at java.util.TimerThread.mainLoop(Unknown Source) + at java.util.TimerThread.run(Unknown Source) + +!ENTRY org.eclipse.egit.ui 2 0 2015-04-21 12:54:18.272 +!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.egit.ui 2 0 2015-04-21 12:54:18.293 +!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git +user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is +not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and +EGit might behave differently since they see different configuration options. +This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. +!SESSION 2015-04-21 22:39:45.316 ----------------------------------------------- +eclipse.buildId=4.4.1.M20140925-0400 +java.version=1.8.0_31 +java.vendor=Oracle Corporation +BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US +Framework arguments: -product org.eclipse.epp.package.java.product +Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product + +!ENTRY org.eclipse.m2e.logback.configuration 2 0 2015-04-21 22:39:49.995 +!MESSAGE Exception while setting up logging:org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String +!STACK 0 +java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String + at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26) + at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189) + at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144) + at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107) + at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62) + at java.util.TimerThread.mainLoop(Unknown Source) + at java.util.TimerThread.run(Unknown Source) + +!ENTRY org.eclipse.egit.ui 2 0 2015-04-21 22:40:07.480 +!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.egit.ui 2 0 2015-04-21 22:40:07.609 +!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git +user global configuration and to define the default location to store repositories: 'C:\Users\Sorin'. If this is +not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and +EGit might behave differently since they see different configuration options. +This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. diff --git a/eclipse/.metadata/.mylyn/.tasks.xml.zip b/eclipse/.metadata/.mylyn/.tasks.xml.zip Binary files differindex abb9184..c5df11c 100644 --- a/eclipse/.metadata/.mylyn/.tasks.xml.zip +++ b/eclipse/.metadata/.mylyn/.tasks.xml.zip diff --git a/eclipse/.metadata/.mylyn/tasks.xml.zip b/eclipse/.metadata/.mylyn/tasks.xml.zip Binary files differindex 12593fd..bc669db 100644 --- a/eclipse/.metadata/.mylyn/tasks.xml.zip +++ b/eclipse/.metadata/.mylyn/tasks.xml.zip diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/d00cc0cf74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/d00cc0cf74e70014115de2bb951f0adf new file mode 100644 index 0000000..dc4d380 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/d00cc0cf74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 2F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/e05898fa47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/e05898fa47e700141e05cdbaeb682437 new file mode 100644 index 0000000..842c659 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/10/e05898fa47e700141e05cdbaeb682437 @@ -0,0 +1,127 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + System.out.println(PlayerUtils.getModPlayerPersistTag(player, Variables.MODID)); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/11/605b1c3449e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/11/605b1c3449e700141e05cdbaeb682437 new file mode 100644 index 0000000..05b2c1e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/11/605b1c3449e700141e05cdbaeb682437 @@ -0,0 +1,126 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/12/902f83c06ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/12/902f83c06ae70014115de2bb951f0adf new file mode 100644 index 0000000..0d71b5f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/12/902f83c06ae70014115de2bb951f0adf @@ -0,0 +1,124 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/13/40546ab4d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/13/40546ab4d4e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..790f82b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/13/40546ab4d4e6001411c8f2d2b3d65935 @@ -0,0 +1,124 @@ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class Curse +{ + protected int id, texturepack; + protected String name, description; + protected Random rand = new Random(); + private static ArrayList<Curse> curses = new ArrayList<Curse>(); + public static ArrayList<Curse> availableCurses = new ArrayList<Curse>(); + + /** + * @param id the ID of the curse + * @param name the name of the curse + * @param texturepack the ID of the pack the texture is located in + */ + protected Curse(int id, String name, int texturepack) + { + this.id = id; + this.name = name; + this.texturepack = texturepack; + curses.add(this); + availableCurses.add(this); + } + + /** + * @return the name of the curse + */ + public String getName() + { + return name; + } + + /** + * @return the description of the curse + */ + public String getDescription() + { + return description; + } + + public Curse setDescription(String desc) + { + description = desc; + return this; + } + + /** + * @return the curse ID + */ + public int getID() + { + return id; + } + + /** + * @return the texture pack ID + */ + public int getTexturePack() + { + return texturepack; + } + + /** + * @param world + * @param player + */ + public void action(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void playerDeathAction(World world, EntityPlayer player) + {} + + public void entityDeathAction(World world, EntityLivingBase target) + {} + + /** + * @param world + * @param player + */ + public void respawnAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + {} + + public boolean itemToss() + { + return false; + } + + /** + * @return + */ + public static ArrayList<Curse> getCurseList() + { + return curses; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/10fdd4946fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/10fdd4946fe70014115de2bb951f0adf new file mode 100644 index 0000000..94351ec --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/10fdd4946fe70014115de2bb951f0adf @@ -0,0 +1,61 @@ +/** + * + */ +package darkknight.jewelrycraft.item; + +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemGoldObj extends Item +{ + public ItemGoldObj() + {} + + public boolean requiresMultipleRenderPasses() + { + return true; + } + + @SideOnly (Side.CLIENT) + public boolean hasEffect(ItemStack item) + { + return true; + } + + @SideOnly (Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) + { + return 0xffff00; + } + + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + ItemStack item = JewelryNBT.item(stack); + if (item != null) return item.getIconIndex(); + return itemIcon; + } + + public String getItemStackDisplayName(ItemStack stack) + { + System.out.println("Item: " + stack + " " + stack.getTagCompound()); + if (stack != null && JewelryNBT.item(stack) != null) return "Golden " + JewelryNBT.item(stack).getDisplayName(); + else return "Golden Object"; + } + + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) + { + if (displayInfo) if (JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?"); + else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0d5c5c83ce700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0d5c5c83ce700141e05cdbaeb682437 new file mode 100644 index 0000000..3ff5ed4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0d5c5c83ce700141e05cdbaeb682437 @@ -0,0 +1,122 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); + public static String[] infamyCache = new String[]{}; + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (infamyCache != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + for(int i = 0; i < infamyCache.length; i++) + if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/d0b317dad0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/d0b317dad0e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..5858a79 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/15/d0b317dad0e6001411c8f2d2b3d65935 @@ -0,0 +1,23 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/17/708592ed75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/17/708592ed75e70014115de2bb951f0adf new file mode 100644 index 0000000..b9d0eb8 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/17/708592ed75e70014115de2bb951f0adf @@ -0,0 +1,67 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + float rot = 0F; + + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glRotatef(rot, 0F, 1F, 0F); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + rot++; + if (rot > 360F) rot = 0F; + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32 * 7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/001ced1270e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/001ced1270e70014115de2bb951f0adf new file mode 100644 index 0000000..a2001e4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/001ced1270e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound().getTag("target").toString()); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/50f2d7ca74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/50f2d7ca74e70014115de2bb951f0adf new file mode 100644 index 0000000..dc4d380 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/50f2d7ca74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 2F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/908e94da36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/908e94da36e100141e1cc3c3be242e56 deleted file mode 100644 index 8867a73..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/18/908e94da36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/201ba5066ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/201ba5066ee70014115de2bb951f0adf new file mode 100644 index 0000000..dd64830 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/201ba5066ee70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50eda2a547e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50eda2a547e700141e05cdbaeb682437 new file mode 100644 index 0000000..e81ef93 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50eda2a547e700141e05cdbaeb682437 @@ -0,0 +1,128 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(gemColor + " " + ingotColor); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(gemColor + " " + ingotColor); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/f09972f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/f09972f76ae70014115de2bb951f0adf new file mode 100644 index 0000000..40155e2 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1c/f09972f76ae70014115de2bb951f0adf @@ -0,0 +1,477 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (updateTime == 0){ + System.out.println("Update"); + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 200; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1d/c0db3b8431e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1d/c0db3b8431e100141e1cc3c3be242e56 deleted file mode 100644 index fc1a3b6..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1d/c0db3b8431e100141e1cc3c3be242e56 +++ /dev/null @@ -1,60 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static int ingotCoolingTime; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack = 2; - public static int jewelsChestMin = 2; - public static int jewelsChestMax = 5; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - ingotCoolingTime = config.get("Timers", "Molder Ingot Cooling Time", ingotCoolingTime, "This sets the number of ticks you need to wait before the mold is cooled.").getInt(100); - ingotMeltingTime = config.get("Timers", "Ingot Melting Time", ingotMeltingTime, "This sets the number of ticks you need to wait before an ingot is completely smelted.").getInt(1500); - jewelryCraftingTime = config.get("Timers", "Jewelry Crafting Time", jewelryCraftingTime, "This sets the number of ticks it takes for a jewel to be modified.").getInt(200); - generateVillageNetherstar = config.get("Village Generation", "Netherstar Generation", generateVillageNetherstar, "If set to true Nether Stars will be able to generate in Jewelers chests.").getBoolean(false); - canFurnacesGenerateIngots = config.get("Village Generation", "Furnace Ingots Generation", canFurnacesGenerateIngots, "If set to true jewelers will generate ingots in furnaces.").getBoolean(true); - maxVillageJewelers = config.get("Village Generation", "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1); - jewelerWeight = config.get("Village Generation", "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30); - ingotChestMin = config.get("Village Generation", "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1); - ingotChestMax = config.get("Village Generation", "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4); - ingotChestMaxStack = config.get("Village Generation", "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2); - jewelsChestMin = config.get("Village Generation", "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2); - jewelsChestMax = config.get("Village Generation", "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5); - furnacesIngotStackMin = config.get("Village Generation", "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2); - furnacesIngotStackMax = config.get("Village Generation", "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1/806717930fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/0052cca56de70014115de2bb951f0adf index b596034..7e7f592 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1/806717930fe60014127dc373d78c1666 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/1e/0052cca56de70014115de2bb951f0adf @@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil; import net.minecraft.block.BlockHopper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.src.FMLRenderAccessLibrary; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import darkknight.jewelrycraft.util.JewelryNBT; @@ -85,15 +76,19 @@ public class ItemRender implements IItemRenderer @Override public void renderItem(ItemRenderType type, ItemStack item, Object ... data) { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + GL11.glPopMatrix(); } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); } } @@ -101,94 +96,101 @@ public class ItemRender implements IItemRenderer { GL11.glPushMatrix(); TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); } GL11.glPopMatrix(); } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/000ed0d640e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/000ed0d640e700141e05cdbaeb682437 new file mode 100644 index 0000000..d39e416 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/000ed0d640e700141e05cdbaeb682437 @@ -0,0 +1,126 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/9016acb9cbe6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/9016acb9cbe6001411c8f2d2b3d65935 new file mode 100644 index 0000000..a969d0f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/20/9016acb9cbe6001411c8f2d2b3d65935 @@ -0,0 +1,12 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +/** + * @author Sorin + * + */ +public class CurseRabbitsPaw +{ +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/102b3b26d2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/102b3b26d2e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..d558150 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/102b3b26d2e6001411c8f2d2b3d65935 @@ -0,0 +1,33 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops.size()); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; + world.spawnEntityInWorld(entityitem); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/d09736c947e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/d09736c947e700141e05cdbaeb682437 new file mode 100644 index 0000000..1143a94 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/21/d09736c947e700141e05cdbaeb682437 @@ -0,0 +1,128 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(nbt); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(nbt); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/c036359431e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/c036359431e100141e1cc3c3be242e56 deleted file mode 100644 index b12cd38..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/22/c036359431e100141e1cc3c3be242e56 +++ /dev/null @@ -1,12 +0,0 @@ -/** - * - */ -package darkknight.jewelrycraft.config; - -/** - * @author Sorin - * - */ -public class ConfigGui -{ -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/24/e0537decd0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/24/e0537decd0e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..8d0f447 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/24/e0537decd0e6001411c8f2d2b3d65935 @@ -0,0 +1,24 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops) + target.entityDropItem(item.getEntityItem(), 1F); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/25/102009133ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/25/102009133ce100141e1cc3c3be242e56 deleted file mode 100644 index f3d10a0..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/25/102009133ce100141e1cc3c3be242e56 +++ /dev/null @@ -1,26 +0,0 @@ -package darkknight.jewelrycraft.config; - -import cpw.mods.fml.client.config.GuiConfig; -import cpw.mods.fml.client.config.IConfigElement; -import net.minecraft.client.gui.GuiScreen; -import net.minecraftforge.common.config.ConfigElement; -import java.util.ArrayList; -import java.util.List; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigGui extends GuiConfig -{ - public ConfigGui(GuiScreen parent) - { - super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString())); - } - - @SuppressWarnings ({"rawtypes"}) - private static List<IConfigElement> getElements() - { - List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length); - for(String category: ConfigHandler.categories) - list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category.toLowerCase()))); - return list; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/26/806b28edd1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/26/806b28edd1e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..25c6a6e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/26/806b28edd1e6001411c8f2d2b3d65935 @@ -0,0 +1,33 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops.size()); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + world.spawnEntityInWorld(entityitem); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/27/10cc432871e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/27/10cc432871e70014115de2bb951f0adf new file mode 100644 index 0000000..caf8992 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/27/10cc432871e70014115de2bb951f0adf @@ -0,0 +1,582 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null && JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/28/c0c69e31d1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/28/c0c69e31d1e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..94344a8 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/28/c0c69e31d1e6001411c8f2d2b3d65935 @@ -0,0 +1,29 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + EntityItem entityitem = item; + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + target.worldObj.spawnEntityInWorld(entityitem); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/60372ebb47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/60372ebb47e700141e05cdbaeb682437 new file mode 100644 index 0000000..98a9aba --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/29/60372ebb47e700141e05cdbaeb682437 @@ -0,0 +1,128 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(nbt); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(JewelryNBT.ingotColor(item)); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a080c22b73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a080c22b73e70014115de2bb951f0adf new file mode 100644 index 0000000..cff4141 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a080c22b73e70014115de2bb951f0adf @@ -0,0 +1,48 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; + +public class CursePentagram extends Curse +{ + MaskRender mask = new MaskRender(); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + Tessellator tessellator = Tessellator.instance; + ItemStack itemStack = new ItemStack(Items.apple); + IIcon iicon = itemStack.getIconIndex(); + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/c026412f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/c026412f36e100141e1cc3c3be242e56 deleted file mode 100644 index 2453924..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2a/c026412f36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/40b8570d75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/40b8570d75e70014115de2bb951f0adf new file mode 100644 index 0000000..3bb822f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/40b8570d75e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/c0710fb874e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/c0710fb874e70014115de2bb951f0adf new file mode 100644 index 0000000..f0cd611 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2b/c0710fb874e70014115de2bb951f0adf @@ -0,0 +1,62 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 1F, 1F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/107e1db2d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/107e1db2d4e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..554b85d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/107e1db2d4e6001411c8f2d2b3d65935 @@ -0,0 +1,124 @@ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class Curse +{ + protected int id, texturepack; + protected String name, description; + protected Random rand = new Random(); + private static ArrayList<Curse> curses = new ArrayList<Curse>(); + public static ArrayList<Curse> availableCurses = new ArrayList<Curse>(); + + /** + * @param id the ID of the curse + * @param name the name of the curse + * @param texturepack the ID of the pack the texture is located in + */ + protected Curse(int id, String name, int texturepack) + { + this.id = id; + this.name = name; + this.texturepack = texturepack; + curses.add(this); + availableCurses.add(this); + } + + /** + * @return the name of the curse + */ + public String getName() + { + return name; + } + + /** + * @return the description of the curse + */ + public String getDescription() + { + return description; + } + + public Curse setDescription(String desc) + { + description = desc; + return this; + } + + /** + * @return the curse ID + */ + public int getID() + { + return id; + } + + /** + * @return the texture pack ID + */ + public int getTexturePack() + { + return texturepack; + } + + /** + * @param world + * @param player + */ + public void action(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void playerDeathAction(World world, EntityPlayer player) + {} + + public void entityDeathAction(World world, EntityLiving target) + {} + + /** + * @param world + * @param player + */ + public void respawnAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + {} + + public boolean itemToss() + { + return false; + } + + /** + * @return + */ + public static ArrayList<Curse> getCurseList() + { + return curses; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/80463a6170e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/80463a6170e70014115de2bb951f0adf new file mode 100644 index 0000000..08cc3c3 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2d/80463a6170e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4, -1)); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50d498da36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50d498da36e100141e1cc3c3be242e56 deleted file mode 100644 index 849ea4d..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/50d498da36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f042698448e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f042698448e700141e05cdbaeb682437 new file mode 100644 index 0000000..77ab18f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f042698448e700141e05cdbaeb682437 @@ -0,0 +1,79 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); +// if (temp != "") +// PlayerRenderHandler.infamyCache = temp.split(";"); +// else +// PlayerRenderHandler.infamyCache = new String[] { }; + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); +// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0) +// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName(); + } +// ByteBufUtils.writeUTF8String(buf, infamyPlayers); + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/b00f12e436e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/b00f12e436e100141e1cc3c3be242e56 deleted file mode 100644 index 6198ae2..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3/b00f12e436e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e191f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e191f76ae70014115de2bb951f0adf new file mode 100644 index 0000000..fe955ce --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e191f76ae70014115de2bb951f0adf @@ -0,0 +1,71 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + } + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/34/404545ed74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/34/404545ed74e70014115de2bb951f0adf new file mode 100644 index 0000000..4f4a265 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/34/404545ed74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 1; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/70f6390a33e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/70f6390a33e100141e1cc3c3be242e56 deleted file mode 100644 index 957cd67..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/70f6390a33e100141e1cc3c3be242e56 +++ /dev/null @@ -1,11 +0,0 @@ -package darkknight.jewelrycraft.util; - -public class Variables -{ - public static final String MODID = "jewelrycraft2"; - public static final String MODNAME = "Jewelrycraft 2"; - public static final String VERSION = "1.0"; - public static final String PACKET_CHANNEL = "jewelrycraft2"; - public static final int MAX_CURSES = 10; - public static final String CONFIG_GUI = "darkknight.jewelrycraft.config.ConfigGuiFactory"; -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/f05b927173e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/f05b927173e70014115de2bb951f0adf new file mode 100644 index 0000000..2844d05 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/f05b927173e70014115de2bb951f0adf @@ -0,0 +1,54 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; + +public class CursePentagram extends Curse +{ + MaskRender mask = new MaskRender(); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + Tessellator tessellator = Tessellator.instance; + ItemStack itemStack = new ItemStack(Items.apple); + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + IIcon iicon = itemStack.getIconIndex(); + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + GL11.glRotatef(90F, 1F, 0F, 0F); + System.out.println("Hello"); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0ceffc2d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0ceffc2d3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..5f01f5a --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/37/f0ceffc2d3e6001411c8f2d2b3d65935 @@ -0,0 +1,29 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize += this.rand.nextInt(4); + target.entityDropItem(drop, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/00f3c35d45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/00f3c35d45e700141e05cdbaeb682437 new file mode 100644 index 0000000..ddc4b6d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/00f3c35d45e700141e05cdbaeb682437 @@ -0,0 +1,27 @@ +package darkknight.jewelrycraft.events; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { + if(event.side == Side.SERVER && event.phase == Phase.END) + System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/305de0c774e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/305de0c774e70014115de2bb951f0adf new file mode 100644 index 0000000..2943ec9 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/305de0c774e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 1F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/5031a6ce32e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/5031a6ce32e100141e1cc3c3be242e56 deleted file mode 100644 index 47c874e..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/39/5031a6ce32e100141e1cc3c3be242e56 +++ /dev/null @@ -1,12 +0,0 @@ -/** - * - */ -package darkknight.jewelrycraft.config; - -/** - * @author Sorin - * - */ -public class ConfigGuiFactory -{ -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c07857ec46e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c07857ec46e700141e05cdbaeb682437 new file mode 100644 index 0000000..601050c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3b/c07857ec46e700141e05cdbaeb682437 @@ -0,0 +1,478 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + System.out.println(updateTime); + if (updateTime == 0){ + System.out.println("Update"); + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 2000; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3e/7054379b0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3e/7054379b0fe60014127dc373d78c1666 deleted file mode 100644 index 71fb995..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3e/7054379b0fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.9F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3f/30185ef1cce6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3f/30185ef1cce6001411c8f2d2b3d65935 new file mode 100644 index 0000000..bcfea1c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3f/30185ef1cce6001411c8f2d2b3d65935 @@ -0,0 +1,466 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + System.out.println(event.entityLiving + " " + event.source + " " + event.entity); +// EntityPlayer player = (EntityPlayer)entity; +// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); +// for(Curse curse: Curse.getCurseList()) +// if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/40eedb4c71e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/40eedb4c71e70014115de2bb951f0adf new file mode 100644 index 0000000..fd20e2b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/40eedb4c71e70014115de2bb951f0adf @@ -0,0 +1,584 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + if(Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null) + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.portal), 0, type);; + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/703840e86ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/703840e86ae70014115de2bb951f0adf new file mode 100644 index 0000000..6b432e5 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/703840e86ae70014115de2bb951f0adf @@ -0,0 +1,58 @@ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.ScreenHandler; + +public class PacketSendPlayerInfo implements IMessage, IMessageHandler<PacketSendClientPlayerInfo, IMessage> +{ + public NBTTagCompound tagCompound; + + /** + * @param tagCompound + */ + public PacketSendPlayerInfo(NBTTagCompound tagCompound) + { + this.tagCompound = tagCompound; + } + + /** + * + */ + public PacketSendPlayerInfo() + {} + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendClientPlayerInfo message, MessageContext ctx) + { + ScreenHandler.tagCache = message.tagCompound; + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + tagCompound = ByteBufUtils.readTag(buf); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + ByteBufUtils.writeTag(buf, tagCompound); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/c035952b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/c035952b36e100141e1cc3c3be242e56 deleted file mode 100644 index 83f2cb2..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/40/c035952b36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,186 +0,0 @@ -package darkknight.jewelrycraft.tileentity; - -import java.util.Random; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class TileEntitySmelter extends TileEntity -{ - public int melting, flow, n = 0, p = 0; - public boolean hasMetal, hasMoltenMetal, isDirty, pouring; - public ItemStack metal, moltenMetal; - public float quantity, pouredQuantity = 0.1f; - - /** - * - */ - public TileEntitySmelter() - { - melting = 0; - pouring = false; - flow = 0; - quantity = 0f; - hasMetal = false; - hasMoltenMetal = false; - metal = new ItemStack(Item.getItemById(0), 0, 0); - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - isDirty = false; - } - - /** - * @param nbt - */ - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - nbt.setInteger("melting", melting); - nbt.setFloat("quantity", quantity); - nbt.setBoolean("hasMetal", hasMetal); - nbt.setBoolean("hasMoltenMetal", hasMoltenMetal); - nbt.setBoolean("pouring", pouring); - NBTTagCompound tag = new NBTTagCompound(); - NBTTagCompound tag1 = new NBTTagCompound(); - metal.writeToNBT(tag); - nbt.setTag("metal", tag); - moltenMetal.writeToNBT(tag1); - nbt.setTag("moltenMetal", tag1); - } - - /** - * @param nbt - */ - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - melting = nbt.getInteger("melting"); - quantity = nbt.getFloat("quantity"); - hasMetal = nbt.getBoolean("hasMetal"); - hasMoltenMetal = nbt.getBoolean("hasMoltenMetal"); - pouring = nbt.getBoolean("pouring"); - metal = new ItemStack(Item.getItemById(0), 0, 0); - metal.readFromNBT(nbt.getCompoundTag("metal")); - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - moltenMetal.readFromNBT(nbt.getCompoundTag("moltenMetal")); - } - - /** - * - */ - @Override - public void updateEntity() - { - super.updateEntity(); - Random rand = new Random(); - if (isDirty){ - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - isDirty = false; - } - if (p > 0) --p; - else p = 5; - if (n == 0 && p == 0){ - flow += 16; - if (flow >= 16 * 20) n = 1; - } - if (n == 1 && p == 0){ - flow -= 16; - if (flow <= 0) n = 0; - } - if (hasMetal) for(int l = 0; l < 2; ++l) - worldObj.spawnParticle("flame", xCoord + rand.nextFloat(), (double)yCoord + 0.3F, zCoord + rand.nextFloat(), 0.0D, 0.0D, 0.0D); - if (rand.nextInt(65) == 0){ - double d5 = xCoord + rand.nextFloat(); - double d7 = yCoord; - double d6 = zCoord + rand.nextFloat(); - worldObj.playSound(d5, d7, d6, "liquid.lavapop", 0.2F + rand.nextFloat() * 0.2F, 0.9F + rand.nextFloat() * 0.15F, false); - } - if (hasMetal && !hasMoltenMetal){ - boolean isOre = JewelrycraftUtil.isOre(metal); - if (melting > 0) melting--; - if (melting == 0){ - hasMetal = false; - if (!isOre) moltenMetal = metal; - else{ - moltenMetal = JewelrycraftUtil.getIngotFromOre(metal.getItem()); - moltenMetal.stackSize *= 2; - } - hasMoltenMetal = true; - if (!isOre) quantity = 0.1f * metal.stackSize; - else quantity = 0.2f * metal.stackSize; - metal = new ItemStack(Item.getItemById(0), 0, 0); - melting = -1; - isDirty = true; - } - }else if (hasMoltenMetal){ - boolean isOre = JewelrycraftUtil.isOre(metal); - if (melting > 0) melting--; - if (melting == 0){ - hasMetal = false; - if (!isOre) moltenMetal.stackSize += metal.stackSize; - else moltenMetal.stackSize += metal.stackSize * 2; - if (!isOre) quantity += 0.1f * metal.stackSize; - else quantity += 0.2f * metal.stackSize; - metal = new ItemStack(Item.getItemById(0), 0, 0); - melting = -1; - isDirty = true; - } - } - TileEntityMolder me = null; - if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 0 && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); - else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 1 && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); - else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 2 && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); - else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 3 && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); - if (pouring && pouredQuantity > 0f){ - quantity -= 0.01f; - pouredQuantity -= 0.01f; - me.quantity += 0.01f; - if (!me.hasMoltenMetal){ - me.moltenMetal = moltenMetal; - me.hasMoltenMetal = true; - } - if (pouredQuantity <= 0f){ - pouring = false; - pouredQuantity = 0.1f; - me.cooling = ConfigHandler.ingotCoolingTime; - } - if (quantity <= 0f){ - quantity = 0f; - hasMoltenMetal = false; - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - // pouring = false; - me.cooling = ConfigHandler.ingotCoolingTime; - } - me.isDirty = true; - } - } - - /** - * @return - */ - @Override - public Packet getDescriptionPacket() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeToNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound); - } - - /** - * @param net - * @param packet - */ - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) - { - readFromNBT(packet.func_148857_g()); - worldObj.func_147479_m(xCoord, yCoord, zCoord); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/41/60e5eb7945e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/41/60e5eb7945e700141e05cdbaeb682437 new file mode 100644 index 0000000..9dd707f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/41/60e5eb7945e700141e05cdbaeb682437 @@ -0,0 +1,34 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { + if(event.side == Side.SERVER && event.phase == Phase.END) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + playerInfo.setBoolean("sendInfo", true); + } +// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/909dc1b9cfe6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/909dc1b9cfe6001411c8f2d2b3d65935 new file mode 100644 index 0000000..2ab23de --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/909dc1b9cfe6001411c8f2d2b3d65935 @@ -0,0 +1,38 @@ +package darkknight.jewelrycraft.curses; + +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import darkknight.jewelrycraft.util.Variables; + +public class CurseList +{ + private static Curse rotten; + private static Curse flaming; + private static Curse blind; + private static Curse greed; + private static Curse infamy; + private static Curse midasTouch; + private static Curse rabbitsPaw; + private static Curse pentagram; + private static Curse vampireHunger; + private static Curse humbleBundle; + private static Curse deathsTouch; + private static Curse antichrist; + private static Curse moneyEqualsPower; + + public static void preInit(FMLPreInitializationEvent e) + { + rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0); + flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0); + greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0); + blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0); + infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0); + midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0); + rabbitsPaw = new CurseMidasTouch(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0); + pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0); + vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0); + humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0); + deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0); + antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0); + moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/f0bc215473e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/f0bc215473e70014115de2bb951f0adf new file mode 100644 index 0000000..c8e2b42 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/42/f0bc215473e70014115de2bb951f0adf @@ -0,0 +1,53 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; + +public class CursePentagram extends Curse +{ + MaskRender mask = new MaskRender(); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + Tessellator tessellator = Tessellator.instance; + ItemStack itemStack = new ItemStack(Items.apple); + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + IIcon iicon = itemStack.getIconIndex(); + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + GL11.glRotatef(90F, 1F, 0F, 0F); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/30263c9474e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/30263c9474e70014115de2bb951f0adf new file mode 100644 index 0000000..8251ee5 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/30263c9474e70014115de2bb951f0adf @@ -0,0 +1,60 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/502df81f47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/502df81f47e700141e05cdbaeb682437 new file mode 100644 index 0000000..2503674 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/43/502df81f47e700141e05cdbaeb682437 @@ -0,0 +1,477 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (updateTime == 0){ + System.out.println("Update"); + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 500; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/44/704f127275e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/44/704f127275e70014115de2bb951f0adf new file mode 100644 index 0000000..e1a56f6 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/44/704f127275e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-14F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32*7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/45/e0b9d3d674e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/45/e0b9d3d674e70014115de2bb951f0adf new file mode 100644 index 0000000..f4fa38d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/45/e0b9d3d674e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 20F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/47/40949c9f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/47/40949c9f36e100141e1cc3c3be242e56 deleted file mode 100644 index 1702871..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/47/40949c9f36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.canFurnacesGenerateIngots); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/48/c00ae4970fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/48/c00ae4970fe60014127dc373d78c1666 deleted file mode 100644 index bd63740..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/48/c00ae4970fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.8F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/601566c636e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/601566c636e100141e1cc3c3be242e56 deleted file mode 100644 index 514a129..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/601566c636e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c084b3166ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c084b3166ee70014115de2bb951f0adf new file mode 100644 index 0000000..f7cb890 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c084b3166ee70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); +// if (iicon == null){ +// GL11.glPopMatrix(); +// return; +// } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/f0ef41723ee700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/f0ef41723ee700141e05cdbaeb682437 new file mode 100644 index 0000000..2b78aa0 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4a/f0ef41723ee700141e05cdbaeb682437 @@ -0,0 +1,123 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + for(int i = 0; i < infamyCache.length; i++) + if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/308cf83bd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/308cf83bd3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..1df0ef2 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/308cf83bd3e6001411c8f2d2b3d65935 @@ -0,0 +1,36 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; +// world.spawnEntityInWorld(entityitem); + target.entityDropItem(item.getEntityItem().copy(), 0.5F); +// target.dropItem(item.getEntityItem().getItem(), 1); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/a059069cd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/a059069cd2e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..0875e67 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/4e/a059069cd2e6001411c8f2d2b3d65935 @@ -0,0 +1,33 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); +// entityitem.motionX = 0; +// entityitem.motionZ = 0; +// entityitem.motionY = 0.2D; + world.spawnEntityInWorld(entityitem); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/50/a0c465266ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/50/a0c465266ee70014115de2bb951f0adf new file mode 100644 index 0000000..f7cb890 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/50/a0c465266ee70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); +// if (iicon == null){ +// GL11.glPopMatrix(); +// return; +// } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0c8245c0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0c8245c0fe60014127dc373d78c1666 deleted file mode 100644 index 42e58aa..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0c8245c0fe60014127dc373d78c1666 +++ /dev/null @@ -1,578 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(90f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/e08ec41c6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/e08ec41c6ee70014115de2bb951f0adf new file mode 100644 index 0000000..a16a4e4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/52/e08ec41c6ee70014115de2bb951f0adf @@ -0,0 +1,587 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); +// if (iicon == null){ +// GL11.glPopMatrix(); +// return; +// } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + GL11.glPopMatrix(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/b0dd171b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/b0dd171b36e100141e1cc3c3be242e56 deleted file mode 100644 index 3233a23..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/b0dd171b36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int ingotCoolingTime; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/c0a6521775e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/c0a6521775e70014115de2bb951f0adf new file mode 100644 index 0000000..d8e2a63 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/54/c0a6521775e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/10b4162c31e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/2016e2c66be70014115de2bb951f0adf index e69de29..e69de29 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/38/10b4162c31e100141e1cc3c3be242e56 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/2016e2c66be70014115de2bb951f0adf diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/d09635b36ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/d09635b36ee70014115de2bb951f0adf new file mode 100644 index 0000000..a2eea3e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/55/d09635b36ee70014115de2bb951f0adf @@ -0,0 +1,477 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (updateTime == 0){ + System.out.println("Update"); + JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); + updateTime = 200; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/604b232936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/604b232936e100141e1cc3c3be242e56 deleted file mode 100644 index 8c152e3..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/604b232936e100141e1cc3c3be242e56 +++ /dev/null @@ -1,206 +0,0 @@ -package darkknight.jewelrycraft.block; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.util.Variables; - -public class BlockMolder extends BlockContainer -{ - Random rand = new Random(); - - /** - * @param par2Material - */ - protected BlockMolder(Material par2Material) - { - super(par2Material); - setBlockBounds(0.1F, 0F, 0.1F, 0.9F, 0.2F, 0.9F); - } - - /** - * @param world - * @param var2 - * @return - */ - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityMolder(); - } - - /** - * @return - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityPlayer - * @param par6 - * @param par7 - * @param par8 - * @param par9 - * @return - */ - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k); - ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null && !world.isRemote){ - if (item != null && !te.hasMold && item.getItem() == ItemList.molds){ - te.mold = item.copy(); - te.hasMold = true; - if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize; - entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".molder.addedmold", te.mold.getDisplayName()))); - te.isDirty = true; - } - if (te.hasMold && entityPlayer.isSneaking() && !te.hasMoltenMetal){ - dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy()); - te.mold = new ItemStack(Item.getItemById(0), 0, 0); - te.hasMold = false; - te.isDirty = true; - }else if (te.hasMoltenMetal) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.hasmoltenmetal"))); - } - return true; - } - - /** - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param par5 - * @param par6 - */ - @Override - public void breakBlock(World world, int i, int j, int k, Block par5, int par6) - { - TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k); - if (te != null){ - if (te.hasJewelBase) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.jewelBase.copy()); - if (te.hasMold) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy()); - world.removeTileEntity(i, j, k); - } - super.breakBlock(world, i, j, k, par5, par6); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityLiving - * @param par6ItemStack - */ - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param player - */ - @Override - public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) - { - TileEntityMolder me = (TileEntityMolder)world.getTileEntity(i, j, k); - if (me != null && !world.isRemote){ - if (me.hasJewelBase){ - dropItem(me.getWorldObj(), me.xCoord, me.yCoord, me.zCoord, me.jewelBase.copy()); - me.jewelBase = new ItemStack(Item.getItemById(0), 0, 0); - me.hasJewelBase = false; - }else if (me.hasMoltenMetal && me.cooling >= 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.metaliscooling") + " (" + (ConfigHandler.INGOT_COOLING_TIME - me.cooling) * 100 / ConfigHandler.INGOT_COOLING_TIME + "%)")); - else if (me.mold.getItem() == ItemList.molds && !me.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldisempty"))); - else if (me.mold.getItem() != ItemList.molds) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldismissing"))); - me.isDirty = true; - } - } - - /** - * @param iblockaccess - * @param i - * @param j - * @param k - * @param l - * @return - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - /** - * @return - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * @return - */ - @Override - public int getRenderType() - { - return -1; - } - - /** - * @param icon - */ - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon(Variables.MODID + ":molder"); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/b090adf674e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/b090adf674e70014115de2bb951f0adf new file mode 100644 index 0000000..3bb822f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/56/b090adf674e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/108313903de100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/108313903de100141e1cc3c3be242e56 deleted file mode 100644 index adaddd3..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/108313903de100141e1cc3c3be242e56 +++ /dev/null @@ -1,66 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static int RITUAL_TIME; - - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int GEM_CHEST_MAX; - public static int FURNACE_MIN_INGOT_STACK; - public static int FURNACE_MAX_INGOT_STACK; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end."); - - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/70f03ed40fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/70f03ed40fe60014127dc373d78c1666 deleted file mode 100644 index b7bfca5..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/57/70f03ed40fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.4F, 0.92F); - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(-25f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/58/80df1fad73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/58/80df1fad73e70014115de2bb951f0adf new file mode 100644 index 0000000..9556045 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/58/80df1fad73e70014115de2bb951f0adf @@ -0,0 +1,102 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiChat; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.event.entity.player.PlayerOpenContainerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.util.Variables; + +public class ScreenHandler extends Gui +{ + private Minecraft mc; + public static NBTTagCompound tagCache = null; + public static int cooldown; + static ResourceLocation texture; + static ResourceLocation hearts = new ResourceLocation(Variables.MODID, "textures/gui/hearts.png"); + +// public ScreenHandler(Minecraft mc, ResourceLocation tex) +// { +// super(); +// this.mc = mc; +// texture = tex; +// } + + @SubscribeEvent + public void renderScreen(RenderGameOverlayEvent event) + { + if (event.isCancelable() || event.type != ElementType.ALL || tagCache == null) return; + if (!mc.gameSettings.showDebugInfo && !(mc.currentScreen instanceof GuiChat)){ + int count = 0; + int size = 32; + ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); + if (tagCache.hasKey("cursePoints") && tagCache.getInteger("cursePoints") > 0){ + mc.renderEngine.bindTexture(hearts); + for(Curse curse: Curse.getCurseList()){ + if (tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){ + drawTexturedModalRect(-16, -16 + (size - 6) * count, 0, 32, 144, 60); + count++; + } + } + mc.renderEngine.bindTexture(texture); + count = 0; + for(Curse curse: Curse.getCurseList()) + if (tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){ + int tag = curse.getID(); + GL11.glPushMatrix(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glScalef(0.45f, 0.45f, 0.0f); + drawTexturedModalRect(28, 18 + (size + 26) * count, tag % size * size, tag / size * size, size, size); + GL11.glPopMatrix(); + count++; + } + count = 0; + size = 16; + for(Curse curse: Curse.getCurseList()) + if (tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){ + int tag = curse.getID(); + mc.fontRenderer.drawStringWithShadow(curse.getName().split(":")[1], 30, 11 + (size + 10) * count, 16777215); + if (tagCache.getInteger(curse.getName()) == 2){ + mc.renderEngine.bindTexture(hearts); + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glColor4f(1f, 1f, 1f, 0.5f); + drawTexturedModalRect(95, 7 + (size + 10) * count, 3 * size, 0, size, size); + GL11.glPopMatrix(); + } + count++; + } + } + GL11.glPushMatrix(); + GL11.glColor4f(1f, 1f, 1f, 1.0f); + mc.renderEngine.bindTexture(hearts); + count = 0; + size = 16; + if (tagCache.getFloat("BlueHeart") > 0){ + drawTexturedModalRect(5 + 35*count, resolution.getScaledHeight() - 20, 0 * size, 0 * size, size, size); + mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F), 15 + 35*count, resolution.getScaledHeight() - 16, 16777215); + } + count++; + mc.renderEngine.bindTexture(hearts); + if (tagCache.getFloat("BlackHeart") > 0){ + drawTexturedModalRect(5 + 35*count, resolution.getScaledHeight() - 20, 1 * size, 0 * size, size, size); + mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F), 15 + 35*count, resolution.getScaledHeight() - 16, 16777215); + } + count++; + mc.renderEngine.bindTexture(hearts); + if (tagCache.getFloat("WhiteHeart") > 0) + drawTexturedModalRect(5 + 35*count, resolution.getScaledHeight() - 20, 2 * size, 1 * size, size, size); + GL11.glPopMatrix(); + } + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/c0c8da02d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/c0c8da02d6e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..9285b8b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5a/c0c8da02d6e6001411c8f2d2b3d65935 @@ -0,0 +1,473 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/300c7ede75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/300c7ede75e70014115de2bb951f0adf new file mode 100644 index 0000000..82fe152 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/300c7ede75e70014115de2bb951f0adf @@ -0,0 +1,67 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + float rot = 0F; + + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + GL11.glRotatef(rot, 0F, 0F, 1F); + rot++; + if (rot > 360F) rot = 0F; + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32 * 7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/60eba0a946e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/60eba0a946e700141e05cdbaeb682437 new file mode 100644 index 0000000..10d09f4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/60eba0a946e700141e05cdbaeb682437 @@ -0,0 +1,476 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (updateTime == 0){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 2000; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/e027ffc10fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5d/e0b4b0ca6ce70014115de2bb951f0adf index d9a74ae..a150ae0 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/e027ffc10fe60014127dc373d78c1666 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5d/e0b4b0ca6ce70014115de2bb951f0adf @@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil; import net.minecraft.block.BlockHopper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.src.FMLRenderAccessLibrary; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import darkknight.jewelrycraft.util.JewelryNBT; @@ -92,8 +83,10 @@ public class ItemRender implements IItemRenderer } render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); GL11.glColor3f(1F, 1F, 0F); renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + GL11.glPopMatrix(); } } @@ -118,7 +111,7 @@ public class ItemRender implements IItemRenderer }else{ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); } - }else{ + }else{ IIcon iicon = itemStack.getIconIndex(); if (iicon == null){ GL11.glPopMatrix(); @@ -136,6 +129,12 @@ public class ItemRender implements IItemRenderer GL11.glEnable(GL12.GL_RESCALE_NORMAL); float f6 = 1.6F; GL11.glScalef(f6, f6, f6); + if(type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ GL11.glRotatef(45f, 0f, 1f, 0f); GL11.glRotatef(180f, 0f, 1f, 0f); @@ -146,8 +145,8 @@ public class ItemRender implements IItemRenderer } GL11.glTranslatef(-0.5F, -0.5F, 0.0F); } - else{ - GL11.glTranslatef(-0.3F, 0.4F, 0.9F); + else if(type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); GL11.glRotatef(45f, 0f, 1f, 0f); GL11.glRotatef(-25f, 0f, 0f, 1f); } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5e/006097f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5e/006097f76ae70014115de2bb951f0adf new file mode 100644 index 0000000..fe955ce --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5e/006097f76ae70014115de2bb951f0adf @@ -0,0 +1,71 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + } + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/807c95d975e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/807c95d975e70014115de2bb951f0adf new file mode 100644 index 0000000..b3251c0 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/807c95d975e70014115de2bb951f0adf @@ -0,0 +1,67 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + float rot = 0F; + + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + GL11.glRotatef(rot, 0F, 1F, 0F); + rot++; + if (rot > 360F) rot = 0F; + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32 * 7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/b0a04b9f6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/b0a04b9f6ee70014115de2bb951f0adf new file mode 100644 index 0000000..a08292f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/b0a04b9f6ee70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item + " " + JewelryNBT.item(item)); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/1058fac532e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0ebb9adcbe6001411c8f2d2b3d65935 index e69de29..e69de29 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/1058fac532e100141e1cc3c3be242e56 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6/f0ebb9adcbe6001411c8f2d2b3d65935 diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/404f5ffdd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/404f5ffdd2e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..52e23c4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/404f5ffdd2e6001411c8f2d2b3d65935 @@ -0,0 +1,35 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; + world.spawnEntityInWorld(entityitem); + target.entityDropItem(item.getEntityItem(), 0.5F); + target.dropItem(item.getEntityItem().getItem(), 1); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/702c893e73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/702c893e73e70014115de2bb951f0adf new file mode 100644 index 0000000..acb7897 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/60/702c893e73e70014115de2bb951f0adf @@ -0,0 +1,53 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; + +public class CursePentagram extends Curse +{ + MaskRender mask = new MaskRender(); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + Tessellator tessellator = Tessellator.instance; + ItemStack itemStack = new ItemStack(Items.apple); + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + IIcon iicon = itemStack.getIconIndex(); + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + GL11.glRotatef(90F, 0F, 0F, 1F); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/70358e7c0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/61/304076fa6ee70014115de2bb951f0adf index b596034..9a2cca3 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/70358e7c0fe60014127dc373d78c1666 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/61/304076fa6ee70014115de2bb951f0adf @@ -1,31 +1,23 @@ package darkknight.jewelrycraft.item.render; import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; import net.minecraft.block.BlockAnvil; import net.minecraft.block.BlockHopper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.src.FMLRenderAccessLibrary; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import darkknight.jewelrycraft.util.JewelryNBT; @@ -85,15 +77,23 @@ public class ItemRender implements IItemRenderer @Override public void renderItem(ItemRenderType type, ItemStack item, Object ... data) { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item); + } + GL11.glPopMatrix(); } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); } } @@ -101,94 +101,101 @@ public class ItemRender implements IItemRenderer { GL11.glPushMatrix(); TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); } GL11.glPopMatrix(); } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/64/f02db34dcde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/64/f02db34dcde6001411c8f2d2b3d65935 new file mode 100644 index 0000000..5533438 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/64/f02db34dcde6001411c8f2d2b3d65935 @@ -0,0 +1,466 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + System.out.println(event.entityLiving + " " + event.source.getEntity() + " " + event.entity); +// EntityPlayer player = (EntityPlayer)entity; +// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); +// for(Curse curse: Curse.getCurseList()) +// if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/90112c4074e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/90112c4074e70014115de2bb951f0adf new file mode 100644 index 0000000..02143d6 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/65/90112c4074e70014115de2bb951f0adf @@ -0,0 +1,54 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; + +public class CursePentagram extends Curse +{ + MaskRender mask = new MaskRender(); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + Tessellator tessellator = Tessellator.instance; + ItemStack itemStack = new ItemStack(Items.apple); + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + IIcon iicon = itemStack.getIconIndex(); + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + GL11.glRotatef(90F, 1F, 0F, 0F); +// System.out.println("Hello"); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/70c19d3a73e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/70c19d3a73e70014115de2bb951f0adf new file mode 100644 index 0000000..b35bd5c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/70c19d3a73e70014115de2bb951f0adf @@ -0,0 +1,52 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; + +public class CursePentagram extends Curse +{ + MaskRender mask = new MaskRender(); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + Tessellator tessellator = Tessellator.instance; + ItemStack itemStack = new ItemStack(Items.apple); + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + IIcon iicon = itemStack.getIconIndex(); + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/903785f76ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/903785f76ae70014115de2bb951f0adf new file mode 100644 index 0000000..b67902a --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/903785f76ae70014115de2bb951f0adf @@ -0,0 +1,71 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + } + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2/607789ae0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/30c158746ee70014115de2bb951f0adf index 55e6a1d..3984286 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/2/607789ae0fe60014127dc373d78c1666 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/30c158746ee70014115de2bb951f0adf @@ -1,31 +1,23 @@ package darkknight.jewelrycraft.item.render; import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; import net.minecraft.block.BlockAnvil; import net.minecraft.block.BlockHopper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.src.FMLRenderAccessLibrary; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import darkknight.jewelrycraft.util.JewelryNBT; @@ -85,15 +77,23 @@ public class ItemRender implements IItemRenderer @Override public void renderItem(ItemRenderType type, ItemStack item, Object ... data) { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e.getMessage()); + } + GL11.glPopMatrix(); } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); } } @@ -101,94 +101,101 @@ public class ItemRender implements IItemRenderer { GL11.glPushMatrix(); TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 1.0F); - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(-25f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); } GL11.glPopMatrix(); } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70b37be86de70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70b37be86de70014115de2bb951f0adf new file mode 100644 index 0000000..95ef086 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70b37be86de70014115de2bb951f0adf @@ -0,0 +1,71 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendServerPlayersInfo implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage> +{ + public PacketSendServerPlayersInfo() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + } + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/600230f8fde50014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70f30ce86ae70014115de2bb951f0adf index 0cdeb96..360add0 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/66/600230f8fde50014127dc373d78c1666 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/70f30ce86ae70014115de2bb951f0adf @@ -43,8 +43,10 @@ import darkknight.jewelrycraft.damage.DamageSourceList; import darkknight.jewelrycraft.effects.EffectsList; import darkknight.jewelrycraft.entities.EntityHalfHeart; import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.events.BlockEventHandler; import darkknight.jewelrycraft.events.BucketHandler; import darkknight.jewelrycraft.events.EntityEventHandler; +import darkknight.jewelrycraft.events.EventCommonHandler; import darkknight.jewelrycraft.events.KeyBindings; import darkknight.jewelrycraft.item.ItemList; import darkknight.jewelrycraft.network.PacketClearColorCache; @@ -116,7 +118,9 @@ public class JewelrycraftMod logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10"); } MinecraftForge.EVENT_BUS.register(new EntityEventHandler()); + MinecraftForge.EVENT_BUS.register(new BlockEventHandler()); MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); + FMLCommonHandler.instance().bus().register(new EventCommonHandler()); BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket); ModMetadata metadata = e.getModMetadata(); diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/d0413c3339e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/d0413c3339e100141e1cc3c3be242e56 deleted file mode 100644 index 93ba6f0..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/67/d0413c3339e100141e1cc3c3be242e56 +++ /dev/null @@ -1,64 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static int RITUAL_TIME; - - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int GEM_CHEST_MAX; - public static int FURNACE_MIN_INGOT_STACK; - public static int FURNACE_MAX_INGOT_STACK; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/69/60c69605d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/69/60c69605d4e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..e90403d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/69/60c69605d4e6001411c8f2d2b3d65935 @@ -0,0 +1,31 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops.size()); + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + System.out.println(drop.stackSize); + if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/e05f3b26d7e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/e05f3b26d7e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..4bd5f5d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6b/e05f3b26d7e6001411c8f2d2b3d65935 @@ -0,0 +1,62 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } + + public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player) + { + String[] types = {"Red", "Blue", "White", "Black"}; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(3) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(world); + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + } + } + } + if (rand.nextInt(3) == 0) world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, target.posY, target.posZ, rand.nextInt(40))); + } + + public String getDescription() + { + return "The Dark One is giving you a gift. Don't lose it."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60a9ec3c45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60a9ec3c45e700141e05cdbaeb682437 new file mode 100644 index 0000000..21e54e7 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60a9ec3c45e700141e05cdbaeb682437 @@ -0,0 +1,24 @@ +package darkknight.jewelrycraft.events; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { + System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/801db51c37e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/801db51c37e100141e1cc3c3be242e56 deleted file mode 100644 index 9af71a0..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/801db51c37e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/80909a0b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/80909a0b36e100141e1cc3c3be242e56 deleted file mode 100644 index b9e4d59..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/80909a0b36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,63 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int ingotCoolingTime; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/c0551c9a47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/c0551c9a47e700141e05cdbaeb682437 new file mode 100644 index 0000000..1a10446 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/c0551c9a47e700141e05cdbaeb682437 @@ -0,0 +1,127 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(gemColor + " " + ingotColor); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/f054e96f75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/f054e96f75e70014115de2bb951f0adf new file mode 100644 index 0000000..35f79ad --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6c/f054e96f75e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32*7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/50ee98edd6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/50ee98edd6e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..9b8ffc2 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/50ee98edd6e6001411c8f2d2b3d65935 @@ -0,0 +1,66 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } + + public void entityDeathAction(World world, EntityLivingBase target) + { + String[] types = {"Red", "Blue", "White", "Black"}; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(3) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(world); + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + } + } + } + if (rand.nextInt(3) == 0){ + int i = target.getExperiencePoints(this.attackingPlayer); + int j = EntityXPOrb.getXPSplit(i); + this.worldObj.spawnEntityInWorld(new EntityXPOrb(this.worldObj, this.posX, this.posY, this.posZ, j)); + } + } + + public String getDescription() + { + return "The Dark One is giving you a gift. Don't lose it."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/8031ad1933e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/d09e79f76ae70014115de2bb951f0adf index 71064eb..766ed37 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/8031ad1933e100141e1cc3c3be242e56 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6d/d09e79f76ae70014115de2bb951f0adf @@ -43,8 +43,10 @@ import darkknight.jewelrycraft.damage.DamageSourceList; import darkknight.jewelrycraft.effects.EffectsList; import darkknight.jewelrycraft.entities.EntityHalfHeart; import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.events.BlockEventHandler; import darkknight.jewelrycraft.events.BucketHandler; import darkknight.jewelrycraft.events.EntityEventHandler; +import darkknight.jewelrycraft.events.EventCommonHandler; import darkknight.jewelrycraft.events.KeyBindings; import darkknight.jewelrycraft.item.ItemList; import darkknight.jewelrycraft.network.PacketClearColorCache; @@ -54,7 +56,7 @@ import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; import darkknight.jewelrycraft.network.PacketRequestSetSlot; import darkknight.jewelrycraft.network.PacketSendCurseStats; import darkknight.jewelrycraft.network.PacketSendLiquidData; -import darkknight.jewelrycraft.network.PacketSendPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo; import darkknight.jewelrycraft.proxy.CommonProxy; import darkknight.jewelrycraft.recipes.CraftingRecipes; import darkknight.jewelrycraft.util.JewelrycraftUtil; @@ -69,10 +71,12 @@ public class JewelrycraftMod { @Instance (Variables.MODID) public static JewelrycraftMod instance; + @SidedProxy (clientSide = Variables.CLIENT_PROXY, serverSide = Variables.SERVER_PROXY) public static CommonProxy proxy; public static final Logger logger = Logger.getLogger("Jewelrycraft"); public static File dir; + public static CreativeTabs jewelrycraft = new CreativeTabs(Variables.MODID){ @Override public Item getTabIconItem() @@ -80,6 +84,7 @@ public class JewelrycraftMod return Item.getItemFromBlock(BlockList.jewelCraftingTable); } }; + public static CreativeTabs liquids = new CreativeTabLiquids("Liquids"); public static NBTTagCompound saveData = new NBTTagCompound(); public static NBTTagCompound clientData = new NBTTagCompound(); @@ -113,7 +118,9 @@ public class JewelrycraftMod logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10"); } MinecraftForge.EVENT_BUS.register(new EntityEventHandler()); + MinecraftForge.EVENT_BUS.register(new BlockEventHandler()); MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); + FMLCommonHandler.instance().bus().register(new EventCommonHandler()); BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket); ModMetadata metadata = e.getModMetadata(); @@ -131,7 +138,7 @@ public class JewelrycraftMod netWrapper.registerMessage(PacketClearColorCache.class, PacketClearColorCache.class, 2, Side.CLIENT); netWrapper.registerMessage(PacketKeyPressEvent.class, PacketKeyPressEvent.class, 3, Side.SERVER); netWrapper.registerMessage(PacketRequestPlayerInfo.class, PacketRequestPlayerInfo.class, 4, Side.SERVER); - netWrapper.registerMessage(PacketSendPlayerInfo.class, PacketSendPlayerInfo.class, 5, Side.CLIENT); + netWrapper.registerMessage(PacketSendClientPlayerInfo.class, PacketSendClientPlayerInfo.class, 5, Side.CLIENT); netWrapper.registerMessage(PacketSendCurseStats.class, PacketSendCurseStats.class, 6, Side.CLIENT); netWrapper.registerMessage(PacketRequestSetSlot.class, PacketRequestSetSlot.class, 7, Side.SERVER); diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6f/504fd1d374e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6f/504fd1d374e70014115de2bb951f0adf new file mode 100644 index 0000000..cd8b754 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/6f/504fd1d374e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 12F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7/d08feea93ee700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7/d08feea93ee700141e05cdbaeb682437 new file mode 100644 index 0000000..cd8454e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7/d08feea93ee700141e05cdbaeb682437 @@ -0,0 +1,73 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + String temp = ByteBufUtils.readUTF8String(buf); + if (temp != "") + PlayerRenderHandler.infamyCache = temp.split(";"); + else + PlayerRenderHandler.infamyCache = new String[] { }; + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); +// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0) +// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName(); + } +// ByteBufUtils.writeUTF8String(buf, infamyPlayers); + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/e007edb70fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/71/00feda906de70014115de2bb951f0adf index 2a5e97d..8f41ba9 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/e007edb70fe60014127dc373d78c1666 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/71/00feda906de70014115de2bb951f0adf @@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil; import net.minecraft.block.BlockHopper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.src.FMLRenderAccessLibrary; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import darkknight.jewelrycraft.util.JewelryNBT; @@ -85,15 +76,19 @@ public class ItemRender implements IItemRenderer @Override public void renderItem(ItemRenderType type, ItemStack item, Object ... data) { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + GL11.glPopMatrix(); } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); } } @@ -136,6 +131,12 @@ public class ItemRender implements IItemRenderer GL11.glEnable(GL12.GL_RESCALE_NORMAL); float f6 = 1.6F; GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ GL11.glRotatef(45f, 0f, 1f, 0f); GL11.glRotatef(180f, 0f, 1f, 0f); @@ -145,9 +146,8 @@ public class ItemRender implements IItemRenderer GL11.glTranslatef(0F, -0.15F, -0.6F); } GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.4F, 1.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); GL11.glRotatef(45f, 0f, 1f, 0f); GL11.glRotatef(-25f, 0f, 0f, 1f); } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/30500e3137e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/30500e3137e100141e1cc3c3be242e56 deleted file mode 100644 index 786b68b..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/72/30500e3137e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/a02269c636e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/a02269c636e100141e1cc3c3be242e56 deleted file mode 100644 index 45a0130..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/a02269c636e100141e1cc3c3be242e56 +++ /dev/null @@ -1,50 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.world.gen.structure.StructureVillagePieces.PieceWeight; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import cpw.mods.fml.common.registry.VillagerRegistry.IVillageCreationHandler; -import darkknight.jewelrycraft.config.ConfigHandler; - -public class VillageJewelryHandler implements IVillageCreationHandler -{ - - /** - * @param random - * @param i - * @return - */ - @Override - public PieceWeight getVillagePieceWeight(Random random, int i) - { - return new PieceWeight(ComponentJewelry.class, ConfigHandler.jewelerWeight, ConfigHandler.MAX_VILLAGE_JEWELERS); - } - - /** - * @return - */ - @Override - public Class<?> getComponentClass() - { - return ComponentJewelry.class; - } - - /** - * @param villagePiece - * @param startPiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @Override - public Object buildComponent(PieceWeight villagePiece, Start startPiece, @SuppressWarnings ("rawtypes") List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - return ComponentJewelry.buildComponent(startPiece, pieces, random, p1, p2, p3, p4, p5); - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/e0673f4237e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/e0673f4237e100141e1cc3c3be242e56 deleted file mode 100644 index 1fcdec5..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/73/e0673f4237e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int GEM_CHEST_MAX; - public static int FURNACE_MIN_INGOT_STACK; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/101f1b73d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/101f1b73d4e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..76c2b89 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/101f1b73d4e6001411c8f2d2b3d65935 @@ -0,0 +1,120 @@ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class Curse +{ + protected int id, texturepack; + protected String name, description; + protected Random rand = new Random(); + private static ArrayList<Curse> curses = new ArrayList<Curse>(); + public static ArrayList<Curse> availableCurses = new ArrayList<Curse>(); + + /** + * @param id the ID of the curse + * @param name the name of the curse + * @param texturepack the ID of the pack the texture is located in + */ + protected Curse(int id, String name, int texturepack) + { + this.id = id; + this.name = name; + this.texturepack = texturepack; + curses.add(this); + availableCurses.add(this); + } + + /** + * @return the name of the curse + */ + public String getName() + { + return name; + } + + /** + * @return the description of the curse + */ + public String getDescription() + { + return description; + } + + public Curse setDescription(String desc) + { + description = desc; + return this; + } + + /** + * @return the curse ID + */ + public int getID() + { + return id; + } + + /** + * @return the texture pack ID + */ + public int getTexturePack() + { + return texturepack; + } + + /** + * @param world + * @param player + */ + public void action(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void deathAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void respawnAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + {} + + public boolean itemToss() + { + return false; + } + + /** + * @return + */ + public static ArrayList<Curse> getCurseList() + { + return curses; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3d/d039874701e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/80bc5d566ee70014115de2bb951f0adf index 49dbe25..20bc0a8 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/3d/d039874701e50014174fe663e69b8422 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/75/80bc5d566ee70014115de2bb951f0adf @@ -4,8 +4,11 @@ package darkknight.jewelrycraft.item; import java.util.List; +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; @@ -24,6 +27,12 @@ public class ItemGoldObj extends Item } @SideOnly (Side.CLIENT) + public boolean hasEffect(ItemStack item) + { + return true; + } + + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { return 0xffff00; @@ -33,22 +42,19 @@ public class ItemGoldObj extends Item public IIcon getIcon(ItemStack stack, int pass) { ItemStack item = JewelryNBT.item(stack); - if (item != null && Item.getIdFromItem(item.getItem()) > 0) - return item.getItem().getIconIndex(JewelryNBT.item(stack)); - else return itemIcon; + if (item != null) return item.getIconIndex(); + return itemIcon; } public String getItemStackDisplayName(ItemStack stack) { - return "Golden " + JewelryNBT.item(stack).getDisplayName(); + return "Golden " + ((JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object"); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) { - if (displayInfo){ - ItemStack item = JewelryNBT.item(stack); - if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName()); - list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now"); - } + if (displayInfo) + if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?"); + else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); } } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/76/e089d7410fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/76/e089d7410fe60014127dc373d78c1666 deleted file mode 100644 index ca6172a..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/76/e089d7410fe60014127dc373d78c1666 +++ /dev/null @@ -1,578 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(0.25F, 0.25F, 0.25F); - GL11.glRotatef(60f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/107f7aabd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/107f7aabd2e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..0603d56 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/107f7aabd2e6001411c8f2d2b3d65935 @@ -0,0 +1,34 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; + entityitem.lifespan = 15000; + world.spawnEntityInWorld(entityitem); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/305762850fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/305762850fe60014127dc373d78c1666 deleted file mode 100644 index b596034..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/78/305762850fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/504da4b747e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/504da4b747e700141e05cdbaeb682437 new file mode 100644 index 0000000..7c5a8fb --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/504da4b747e700141e05cdbaeb682437 @@ -0,0 +1,128 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(JewelryNBT.ingotColor(item)); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(JewelryNBT.ingotColor(item)); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/5081b1640fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/5081b1640fe60014127dc373d78c1666 deleted file mode 100644 index 68edc65..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7b/5081b1640fe60014127dc373d78c1666 +++ /dev/null @@ -1,578 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/700de6a60fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/70d7e7d56de70014115de2bb951f0adf index 1ce9c6d..bd9a088 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/14/700de6a60fe60014127dc373d78c1666 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/70d7e7d56de70014115de2bb951f0adf @@ -5,27 +5,18 @@ import net.minecraft.block.BlockAnvil; import net.minecraft.block.BlockHopper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.src.FMLRenderAccessLibrary; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import darkknight.jewelrycraft.util.JewelryNBT; @@ -85,15 +76,23 @@ public class ItemRender implements IItemRenderer @Override public void renderItem(ItemRenderType type, ItemStack item, Object ... data) { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e); + } + GL11.glPopMatrix(); } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); } } @@ -101,94 +100,101 @@ public class ItemRender implements IItemRenderer { GL11.glPushMatrix(); TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 1.0F); - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); } GL11.glPopMatrix(); } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c04015606be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c04015606be70014115de2bb951f0adf new file mode 100644 index 0000000..5267618 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7d/c04015606be70014115de2bb951f0adf @@ -0,0 +1,124 @@ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import java.util.Random; +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.world.World; + +public class Curse +{ + protected int id, texturepack; + protected String name, description; + protected Random rand = new Random(); + private static ArrayList<Curse> curses = new ArrayList<Curse>(); + public static ArrayList<Curse> availableCurses = new ArrayList<Curse>(); + + /** + * @param id the ID of the curse + * @param name the name of the curse + * @param texturepack the ID of the pack the texture is located in + */ + protected Curse(int id, String name, int texturepack) + { + this.id = id; + this.name = name; + this.texturepack = texturepack; + curses.add(this); + availableCurses.add(this); + } + + /** + * @return the name of the curse + */ + public String getName() + { + return name; + } + + /** + * @return the description of the curse + */ + public String getDescription() + { + return description; + } + + public Curse setDescription(String desc) + { + description = desc; + return this; + } + + /** + * @return the curse ID + */ + public int getID() + { + return id; + } + + /** + * @return the texture pack ID + */ + public int getTexturePack() + { + return texturepack; + } + + /** + * @param world + * @param player + */ + public void action(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void playerDeathAction(World world, EntityPlayer player) + {} + + public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void respawnAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + {} + + public boolean itemToss() + { + return false; + } + + /** + * @return + */ + public static ArrayList<Curse> getCurseList() + { + return curses; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7e/70e0fae86be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7e/70e0fae86be70014115de2bb951f0adf new file mode 100644 index 0000000..a2c482f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7e/70e0fae86be70014115de2bb951f0adf @@ -0,0 +1,12 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +/** + * @author Sorin + * + */ +public class CursePentagram +{ +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/20f8c70bd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/20f8c70bd3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..fddb563 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/20f8c70bd3e6001411c8f2d2b3d65935 @@ -0,0 +1,35 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; +// world.spawnEntityInWorld(entityitem); + target.entityDropItem(item.getEntityItem(), 0.5F); +// target.dropItem(item.getEntityItem().getItem(), 1); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0f965f8d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0f965f8d6e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..21342fb --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0f965f8d6e6001411c8f2d2b3d65935 @@ -0,0 +1,66 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } + + public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player) + { + String[] types = {"Red", "Blue", "White", "Black"}; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(3) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(world); + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + } + } + } + if (rand.nextInt(3) == 0){ + int i = target.getExperiencePoints(this.attackingPlayer); + int j = EntityXPOrb.getXPSplit(i); + this.worldObj.spawnEntityInWorld(new EntityXPOrb(this.worldObj, this.posX, this.posY, this.posZ, j)); + } + } + + public String getDescription() + { + return "The Dark One is giving you a gift. Don't lose it."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/00f0902b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/00f0902b36e100141e1cc3c3be242e56 deleted file mode 100644 index 5840c72..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/00f0902b36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,206 +0,0 @@ -package darkknight.jewelrycraft.block; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.util.Variables; - -public class BlockMolder extends BlockContainer -{ - Random rand = new Random(); - - /** - * @param par2Material - */ - protected BlockMolder(Material par2Material) - { - super(par2Material); - setBlockBounds(0.1F, 0F, 0.1F, 0.9F, 0.2F, 0.9F); - } - - /** - * @param world - * @param var2 - * @return - */ - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntityMolder(); - } - - /** - * @return - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityPlayer - * @param par6 - * @param par7 - * @param par8 - * @param par9 - * @return - */ - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k); - ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null && !world.isRemote){ - if (item != null && !te.hasMold && item.getItem() == ItemList.molds){ - te.mold = item.copy(); - te.hasMold = true; - if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize; - entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".molder.addedmold", te.mold.getDisplayName()))); - te.isDirty = true; - } - if (te.hasMold && entityPlayer.isSneaking() && !te.hasMoltenMetal){ - dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy()); - te.mold = new ItemStack(Item.getItemById(0), 0, 0); - te.hasMold = false; - te.isDirty = true; - }else if (te.hasMoltenMetal) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.hasmoltenmetal"))); - } - return true; - } - - /** - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param par5 - * @param par6 - */ - @Override - public void breakBlock(World world, int i, int j, int k, Block par5, int par6) - { - TileEntityMolder te = (TileEntityMolder)world.getTileEntity(i, j, k); - if (te != null){ - if (te.hasJewelBase) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.jewelBase.copy()); - if (te.hasMold) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.mold.copy()); - world.removeTileEntity(i, j, k); - } - super.breakBlock(world, i, j, k, par5, par6); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param entityLiving - * @param par6ItemStack - */ - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param player - */ - @Override - public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) - { - TileEntityMolder me = (TileEntityMolder)world.getTileEntity(i, j, k); - if (me != null && !world.isRemote){ - if (me.hasJewelBase){ - dropItem(me.getWorldObj(), me.xCoord, me.yCoord, me.zCoord, me.jewelBase.copy()); - me.jewelBase = new ItemStack(Item.getItemById(0), 0, 0); - me.hasJewelBase = false; - }else if (me.hasMoltenMetal && me.cooling >= 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.metaliscooling") + " (" + (ConfigHandler.ingotCoolingTime - me.cooling) * 100 / ConfigHandler.ingotCoolingTime + "%)")); - else if (me.mold.getItem() == ItemList.molds && !me.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldisempty"))); - else if (me.mold.getItem() != ItemList.molds) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".molder.moldismissing"))); - me.isDirty = true; - } - } - - /** - * @param iblockaccess - * @param i - * @param j - * @param k - * @param l - * @return - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - /** - * @return - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * @return - */ - @Override - public int getRenderType() - { - return -1; - } - - /** - * @param icon - */ - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon(Variables.MODID + ":molder"); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/40c942690fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/40c942690fe60014127dc373d78c1666 deleted file mode 100644 index 4f404af..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8/40c942690fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/c057434c00e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/82/3037ff566fe70014115de2bb951f0adf index 17c0273..5e027de 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/c057434c00e50014174fe663e69b8422 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/82/3037ff566fe70014115de2bb951f0adf @@ -4,15 +4,17 @@ package darkknight.jewelrycraft.item; import java.util.List; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.JewelryNBT; +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.JewelryNBT; public class ItemGoldObj extends Item { @@ -25,6 +27,12 @@ public class ItemGoldObj extends Item } @SideOnly (Side.CLIENT) + public boolean hasEffect(ItemStack item) + { + return true; + } + + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { return 0xffff00; @@ -33,22 +41,20 @@ public class ItemGoldObj extends Item @Override public IIcon getIcon(ItemStack stack, int pass) { - System.out.println(getIconIndex(JewelryNBT.item(stack))); - if (JewelryNBT.item(stack) != null && pass >= 0) return getIconIndex(JewelryNBT.item(stack)); + ItemStack item = JewelryNBT.item(stack); + if (item != null) return item.getIconIndex(); return itemIcon; } public String getItemStackDisplayName(ItemStack stack) { - return "Golden " + JewelryNBT.item(stack).getDisplayName(); + if (stack != null && JewelryNBT.item(stack) != null) return "Golden " + JewelryNBT.item(stack).getDisplayName(); + else return "Golden Object"; } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) { - if (displayInfo){ - ItemStack item = JewelryNBT.item(stack); - if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName()); - list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now"); - } + if (displayInfo) if (JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?"); + else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); } } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/40a1b50bd6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/40a1b50bd6e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..f96d6a2 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/40a1b50bd6e6001411c8f2d2b3d65935 @@ -0,0 +1,473 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/c06f472d6fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/c06f472d6fe70014115de2bb951f0adf new file mode 100644 index 0000000..de2394e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/84/c06f472d6fe70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound()); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/e0e38d8cd1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/e0e38d8cd1e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..4554ccd --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/85/e0e38d8cd1e6001411c8f2d2b3d65935 @@ -0,0 +1,31 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops.size()); + for(EntityItem item: drops){ + EntityItem entityitem = item; + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + player.worldObj.spawnEntityInWorld(entityitem); + System.out.println("Drop"); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/86/309c6bcad5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/86/309c6bcad5e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..11fc91d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/86/309c6bcad5e6001411c8f2d2b3d65935 @@ -0,0 +1,61 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +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.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } + + public void entityDeathAction(World world, EntityLivingBase target) + { + String[] types = {"Red", "Blue", "White", "Black"}; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(3) == 0){ + System.out.println("Spwan heart"); + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(world); + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + } + } + } + } + + public String getDescription() + { + return "The Dark One is giving you a gift. Don't lose it."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/003f191173e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/003f191173e70014115de2bb951f0adf new file mode 100644 index 0000000..5964039 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/003f191173e70014115de2bb951f0adf @@ -0,0 +1,57 @@ +package darkknight.jewelrycraft.curses; + +import org.lwjgl.opengl.GL11; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + MaskRender mask = new MaskRender(); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/50be156747e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/50be156747e700141e05cdbaeb682437 new file mode 100644 index 0000000..5acd992 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/87/50be156747e700141e05cdbaeb682437 @@ -0,0 +1,185 @@ +package darkknight.jewelrycraft.model; + +import java.awt.Color; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import org.lwjgl.opengl.GL11; + +/** + * ModelBiped - Either Mojang or a mod author Created using Tabula 4.1.1 + */ +public class ModelBracelet extends ModelBase +{ + public ModelRenderer metal1; + public ModelRenderer metal2; + public ModelRenderer metal3; + public ModelRenderer metal4; + public ModelRenderer gem1; + public ModelRenderer gem2; + public ModelRenderer gem3; + public ModelRenderer gem4; + public ModelRenderer gem5; + public ModelRenderer gem6; + public ModelRenderer gem7; + public ModelRenderer gem8; + public ModelRenderer gem9; + + public ModelBracelet() + { + this.textureWidth = 16; + this.textureHeight = 16; + this.metal4 = new ModelRenderer(this, 0, 8); + this.metal4.setRotationPoint(-5.0F, 12.0F, -2.0F); + this.metal4.addBox(0.0F, 0.0F, 0.0F, 1, 2, 4, 0.0F); + this.gem4 = new ModelRenderer(this, 0, 0); + this.gem4.setRotationPoint(-3.0F, 12.8F, -3.5F); + this.gem4.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); + this.setRotateAngle(gem4, 0.0F, 0.008901179185171082F, 0.0F); + this.gem3 = new ModelRenderer(this, 0, 0); + this.gem3.setRotationPoint(-4.8F, 12.2F, -3.5F); + this.gem3.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); + this.gem2 = new ModelRenderer(this, 0, 0); + this.gem2.setRotationPoint(-1.5F, 12.8F, -3.5F); + this.gem2.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); + this.gem1 = new ModelRenderer(this, 0, 0); + this.gem1.setRotationPoint(0.3F, 12.2F, -3.5F); + this.gem1.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); + this.metal1 = new ModelRenderer(this, 0, 8); + this.metal1.setRotationPoint(-5.0F, 12.0F, -3.0F); + this.metal1.addBox(0.0F, 0.0F, 0.0F, 6, 2, 1, 0.0F); + this.gem6 = new ModelRenderer(this, 0, 0); + this.gem6.setRotationPoint(-4.3F, 12.7F, -3.5F); + this.gem6.addBox(0.0F, 0.0F, 0.0F, 1, 2, 1, 0.0F); + this.gem7 = new ModelRenderer(this, 0, 0); + this.gem7.setRotationPoint(-3.8F, 12.7F, -3.5F); + this.gem7.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); + this.gem8 = new ModelRenderer(this, 0, 0); + this.gem8.setRotationPoint(-0.2F, 12.7F, -3.5F); + this.gem8.addBox(0.0F, 0.0F, 0.0F, 1, 2, 1, 0.0F); + this.metal2 = new ModelRenderer(this, 0, 8); + this.metal2.setRotationPoint(-5.0F, 12.0F, 2.0F); + this.metal2.addBox(0.0F, 0.0F, 0.0F, 6, 2, 1, 0.0F); + this.gem5 = new ModelRenderer(this, 0, 0); + this.gem5.setRotationPoint(-2.5F, 12.3F, -3.5F); + this.gem5.addBox(0.0F, 0.0F, 0.0F, 2, 3, 1, 0.0F); + this.metal3 = new ModelRenderer(this, 0, 8); + this.metal3.setRotationPoint(0.0F, 12.0F, -2.0F); + this.metal3.addBox(0.0F, 0.0F, 0.0F, 1, 2, 4, 0.0F); + this.gem9 = new ModelRenderer(this, 0, 0); + this.gem9.setRotationPoint(-0.7F, 12.7F, -3.5F); + this.gem9.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + GL11.glDisable(GL11.GL_LIGHTING); + if ((int)f3 != -1){ + System.out.println((int)f3); + int ingotColor = (int)f3; + int red = (ingotColor >> 16) & 0xff; + int green = (ingotColor >> 8) & 0xff; + int blue = ingotColor & 0xff; + GL11.glColor3f((float)red / 255, (float)green / 255, (float)blue / 255); + this.metal1.render(f5); + this.metal2.render(f5); + this.metal3.render(f5); + this.metal4.render(f5); + } + if ((int)f4 != -1){ + int gemColor = (int)f4; + int red = gemColor >> 16 & 0xff; + int green = gemColor >> 8 & 0xff; + int blue = gemColor & 0xff; + GL11.glColor3f((float)red / 255, (float)green / 255, (float)blue / 255); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE_MINUS_DST_COLOR); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem4.offsetX, this.gem4.offsetY, this.gem4.offsetZ); + GL11.glTranslatef(this.gem4.rotationPointX * f5, this.gem4.rotationPointY * f5, this.gem4.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem4.offsetX, -this.gem4.offsetY, -this.gem4.offsetZ); + GL11.glTranslatef(-this.gem4.rotationPointX * f5, -this.gem4.rotationPointY * f5, -this.gem4.rotationPointZ * f5); + this.gem4.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem3.offsetX, this.gem3.offsetY, this.gem3.offsetZ); + GL11.glTranslatef(this.gem3.rotationPointX * f5, this.gem3.rotationPointY * f5, this.gem3.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem3.offsetX, -this.gem3.offsetY, -this.gem3.offsetZ); + GL11.glTranslatef(-this.gem3.rotationPointX * f5, -this.gem3.rotationPointY * f5, -this.gem3.rotationPointZ * f5); + this.gem3.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem2.offsetX, this.gem2.offsetY, this.gem2.offsetZ); + GL11.glTranslatef(this.gem2.rotationPointX * f5, this.gem2.rotationPointY * f5, this.gem2.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem2.offsetX, -this.gem2.offsetY, -this.gem2.offsetZ); + GL11.glTranslatef(-this.gem2.rotationPointX * f5, -this.gem2.rotationPointY * f5, -this.gem2.rotationPointZ * f5); + this.gem2.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem1.offsetX, this.gem1.offsetY, this.gem1.offsetZ); + GL11.glTranslatef(this.gem1.rotationPointX * f5, this.gem1.rotationPointY * f5, this.gem1.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem1.offsetX, -this.gem1.offsetY, -this.gem1.offsetZ); + GL11.glTranslatef(-this.gem1.rotationPointX * f5, -this.gem1.rotationPointY * f5, -this.gem1.rotationPointZ * f5); + this.gem1.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem6.offsetX, this.gem6.offsetY, this.gem6.offsetZ); + GL11.glTranslatef(this.gem6.rotationPointX * f5, this.gem6.rotationPointY * f5, this.gem6.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem6.offsetX, -this.gem6.offsetY, -this.gem6.offsetZ); + GL11.glTranslatef(-this.gem6.rotationPointX * f5, -this.gem6.rotationPointY * f5, -this.gem6.rotationPointZ * f5); + this.gem6.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem7.offsetX, this.gem7.offsetY, this.gem7.offsetZ); + GL11.glTranslatef(this.gem7.rotationPointX * f5, this.gem7.rotationPointY * f5, this.gem7.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem7.offsetX, -this.gem7.offsetY, -this.gem7.offsetZ); + GL11.glTranslatef(-this.gem7.rotationPointX * f5, -this.gem7.rotationPointY * f5, -this.gem7.rotationPointZ * f5); + this.gem7.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem8.offsetX, this.gem8.offsetY, this.gem8.offsetZ); + GL11.glTranslatef(this.gem8.rotationPointX * f5, this.gem8.rotationPointY * f5, this.gem8.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem8.offsetX, -this.gem8.offsetY, -this.gem8.offsetZ); + GL11.glTranslatef(-this.gem8.rotationPointX * f5, -this.gem8.rotationPointY * f5, -this.gem8.rotationPointZ * f5); + this.gem8.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem5.offsetX, this.gem5.offsetY, this.gem5.offsetZ); + GL11.glTranslatef(this.gem5.rotationPointX * f5, this.gem5.rotationPointY * f5, this.gem5.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem5.offsetX, -this.gem5.offsetY, -this.gem5.offsetZ); + GL11.glTranslatef(-this.gem5.rotationPointX * f5, -this.gem5.rotationPointY * f5, -this.gem5.rotationPointZ * f5); + this.gem5.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.gem9.offsetX, this.gem9.offsetY, this.gem9.offsetZ); + GL11.glTranslatef(this.gem9.rotationPointX * f5, this.gem9.rotationPointY * f5, this.gem9.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 0.5D); + GL11.glTranslatef(-this.gem9.offsetX, -this.gem9.offsetY, -this.gem9.offsetZ); + GL11.glTranslatef(-this.gem9.rotationPointX * f5, -this.gem9.rotationPointY * f5, -this.gem9.rotationPointZ * f5); + this.gem9.render(f5); + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_BLEND); + } + GL11.glEnable(GL11.GL_LIGHTING); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) + { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/4024341075e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/4024341075e70014115de2bb951f0adf new file mode 100644 index 0000000..9e9b54d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/4024341075e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 32; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/80f28fd270e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/80f28fd270e70014115de2bb951f0adf new file mode 100644 index 0000000..1837db1 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/80f28fd270e70014115de2bb951f0adf @@ -0,0 +1,61 @@ +/** + * + */ +package darkknight.jewelrycraft.item; + +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemGoldObj extends Item +{ + public ItemGoldObj() + {} + + public boolean requiresMultipleRenderPasses() + { + return true; + } + + @SideOnly (Side.CLIENT) + public boolean hasEffect(ItemStack item) + { + return true; + } + + @SideOnly (Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) + { + return 0xffff00; + } + + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + ItemStack item = JewelryNBT.item(stack); + if (item != null) return item.getIconIndex(); + return itemIcon; + } + + public String getItemStackDisplayName(ItemStack stack) + { +// return "Golden " + ((stack != null && JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object"); + return "Golden Object"; + } + + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) + { + if (displayInfo) + if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?"); + else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/d0f7d59d46e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/d0f7d59d46e700141e05cdbaeb682437 new file mode 100644 index 0000000..c125c60 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/d0f7d59d46e700141e05cdbaeb682437 @@ -0,0 +1,476 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (updateTime == 0){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 2000; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/f0282ae6d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/f0282ae6d6e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..4c407a1 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/89/f0282ae6d6e6001411c8f2d2b3d65935 @@ -0,0 +1,60 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +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.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } + + public void entityDeathAction(World world, EntityLivingBase target) + { + String[] types = {"Red", "Blue", "White", "Black"}; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(3) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(world); + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + } + } + } + } + + public String getDescription() + { + return "The Dark One is giving you a gift. Don't lose it."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/6060ee470fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/6060ee470fe60014127dc373d78c1666 deleted file mode 100644 index 68b4bfe..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/6060ee470fe60014127dc373d78c1666 +++ /dev/null @@ -1,578 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.3F); - GL11.glRotatef(60f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/80d2d9c73de700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/80d2d9c73de700141e05cdbaeb682437 new file mode 100644 index 0000000..788fa17 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8b/80d2d9c73de700141e05cdbaeb682437 @@ -0,0 +1,71 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + String temp = ByteBufUtils.readUTF8String(buf); + if (temp != "") + PlayerRenderHandler.infamyCache = temp.split(";"); + else + PlayerRenderHandler.infamyCache = new String[] { }; + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + while (players.hasNext()) + { + EntityPlayer current = players.next(); + NBTTagCompound nbt = new NBTTagCompound(); + if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0) + infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName(); + } + ByteBufUtils.writeUTF8String(buf, infamyPlayers); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/10a39f8636e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/10a39f8636e100141e1cc3c3be242e56 deleted file mode 100644 index a8c581c..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/10a39f8636e100141e1cc3c3be242e56 +++ /dev/null @@ -1,261 +0,0 @@ -package darkknight.jewelrycraft.block; - -import java.io.IOException; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -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.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMoltenMetalBucket; -import darkknight.jewelrycraft.network.PacketSendLiquidData; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; - -public class BlockSmelter extends BlockContainer -{ - Random rand = new Random(); - - public BlockSmelter() - { - super(Material.rock); - } - - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntitySmelter(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * Spawns an item in the world at the specified location - * - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.3D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - entityitem.delayBeforeCanPickup = 0; - world.spawnEntityInWorld(entityitem); - } - - @Override - public void breakBlock(World world, int i, int j, int k, Block par5, int par6) - { - TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k); - if (te != null){ - if (te.hasMetal) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy()); - if (te.hasMoltenMetal && te.moltenMetal != null && Item.getIdFromItem(te.moltenMetal.getItem()) > 0){ - ItemStack metal = te.moltenMetal; - ItemStack item = te.moltenMetal; - if (Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) metal.setItemDamage(15 - metal.getItemDamage()); - int color = 16777215; - JewelryNBT.addMetal(item, metal); - try{ - color = ItemMoltenMetalBucket.color(item, 1); - System.out.println(color); - } - catch(IOException e){ - e.printStackTrace(); - } - JewelrycraftMod.saveData.setString(i + " " + j + " " + k + " " + world.provider.dimensionId, Item.getIdFromItem(metal.getItem()) + ":" + metal.getItemDamage() + ":" + color); - JewelrycraftMod.netWrapper.sendToAll(new PacketSendLiquidData(world.provider.dimensionId, i, j, k, Item.getIdFromItem(metal.getItem()), metal.getItemDamage(), color)); - world.setBlock(i, j, k, BlockList.moltenMetal, 0, 3); - int quant = (int)(te.quantity * 10); - if (quant == 1) world.setBlockMetadataWithNotify(i, j, k, 4, 3); - if (quant == 2) world.setBlockMetadataWithNotify(i, j, k, 4, 3); - if (quant == 3) world.setBlockMetadataWithNotify(i, j, k, 3, 3); - if (quant == 4) world.setBlockMetadataWithNotify(i, j, k, 3, 3); - if (quant == 5) world.setBlockMetadataWithNotify(i, j, k, 2, 3); - if (quant == 6) world.setBlockMetadataWithNotify(i, j, k, 2, 3); - if (quant == 7) world.setBlockMetadataWithNotify(i, j, k, 1, 3); - if (quant == 8) world.setBlockMetadataWithNotify(i, j, k, 1, 3); - if (quant == 9) world.setBlockMetadataWithNotify(i, j, k, 0, 3); - } - world.removeTileEntity(i, j, k); - } - super.breakBlock(world, i, j, k, par5, par6); - } - - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k); - ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null && te.hasMoltenMetal && te.quantity >= 0.9f && !te.pouring && item != null && item.getItem() == Items.bucket){ - te.quantity = 0f; - te.hasMoltenMetal = false; - ItemStack metalBucket = new ItemStack(ItemList.bucket, 1); - ItemStack ingot = te.moltenMetal.copy(); - if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage()); - JewelryNBT.addMetal(metalBucket, ingot); - --item.stackSize; - entityPlayer.inventory.addItemStackToInventory(metalBucket); - te.isDirty = true; - return true; - } - if (te != null && !world.isRemote){ - if (te.hasMetal && entityPlayer.isSneaking()){ - dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy()); - te.hasMetal = false; - te.melting = -1; - te.isDirty = true; - } - if (item != null && item.getItem() != null && !(item.getItem() instanceof ItemMoltenMetalBucket)){ - int index = -1; - for(int a = 0; a < JewelrycraftUtil.jamcraftPlayers.size(); a++) - if (entityPlayer.getUniqueID().toString().equals(JewelrycraftUtil.jamcraftPlayers.get(a))) index = a; - if(entityPlayer.capabilities.isCreativeMode) index = 1; - boolean canPlace = item != null && (JewelrycraftUtil.isMetal(item) || JewelrycraftUtil.isOre(item) || index >= 0); - boolean isOre = false, oreCoincidesWithMetal = false, itemCoincidesWithMetal = false, itemCoincidesWithMoltenMetal = false, overflow = false; - isOre = JewelrycraftUtil.isOre(item); - if (te.metal != null && te.metal.getItem() != null) itemCoincidesWithMetal = item.getItem().equals(te.metal.getItem()) && item.getItemDamage() == te.metal.getItemDamage(); - if (te.moltenMetal != null && te.moltenMetal.getItem() != null){ - itemCoincidesWithMoltenMetal = item.getItem().equals(te.moltenMetal.getItem()) && item.getItemDamage() == te.moltenMetal.getItemDamage(); - if (isOre) oreCoincidesWithMetal = te.moltenMetal.getItem().equals(JewelrycraftUtil.getIngotFromOre(item.getItem()).getItem()) && te.moltenMetal.getItemDamage() == JewelrycraftUtil.getIngotFromOre(item.getItem()).getItemDamage(); - } - overflow = isOre ? te.metal.stackSize * 0.2f + te.quantity < 0.8f : te.metal.stackSize * 0.1f + te.quantity < 0.9f; - boolean isValid = te.hasMoltenMetal ? itemCoincidesWithMoltenMetal : true; - if (te.quantity < 0.9f && !te.pouring && canPlace && isValid){ - boolean check = isOre ? oreCoincidesWithMetal && te.quantity < 0.8f : itemCoincidesWithMoltenMetal; - boolean check2 = isOre ? oreCoincidesWithMetal : itemCoincidesWithMetal; - if (!te.hasMetal && !te.hasMoltenMetal || !te.hasMetal && te.hasMoltenMetal && check){ - entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.nowsmeltingingot", item.getDisplayName()))); - te.metal = item.copy(); - // if (Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) te.metal.setItemDamage(15 - te.metal.getItemDamage()); - te.metal.stackSize = 1; - te.hasMetal = true; - te.melting = ConfigHandler.ingotMeltingTime; - if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize; - te.isDirty = true; - }else if (te.hasMetal && te.hasMoltenMetal && check2 && overflow || te.hasMetal && !te.hasMoltenMetal && itemCoincidesWithMetal && overflow){ - entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("Smelting extra " + (isOre ? "ores" : "ingots") + " (" + (te.metal.stackSize + 1) + ")"))); - te.metal.stackSize++; - te.hasMetal = true; - te.melting += ConfigHandler.INGOT_MELTING_TIME; - if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize; - te.isDirty = true; - } - te.isDirty = true; - }else if (item != null && (te.hasMetal || te.hasMoltenMetal) && !itemCoincidesWithMoltenMetal && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Item does not match contents!"))); - else if (item != null && !item.getUnlocalizedName().toLowerCase().contains("ingot") && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.itemrenamedtoingot"))); - else if (item != null && te.quantity >= 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Smelter is at full capacity."))); - }else if (item != null && item.getItem() != null && item.getItem() instanceof ItemMoltenMetalBucket && !te.hasMoltenMetal && !te.hasMetal){ - te.hasMoltenMetal = true; - ItemStack ingot = JewelryNBT.ingot(item); - if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage()); - te.moltenMetal = ingot; - te.quantity = 0.9f; - te.isDirty = true; - if (!entityPlayer.capabilities.isCreativeMode){ - --item.stackSize; - dropItem(world, entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ, new ItemStack(Items.bucket)); - } - }else if (item == null && te.hasMoltenMetal && te.moltenMetal.getItem() != null) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.hasmolteningot", te.moltenMetal.getDisplayName()))); - world.setTileEntity(i, j, k, te); - } - return true; - } - - @Override - public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) - { - TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k); - TileEntityMolder me = null; - if (world.getBlockMetadata(i, j, k) == 0 && world.getTileEntity(i, j, k - 1) != null && world.getTileEntity(i, j, k - 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k - 1); - else if (world.getBlockMetadata(i, j, k) == 1 && world.getTileEntity(i + 1, j, k) != null && world.getTileEntity(i + 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i + 1, j, k); - else if (world.getBlockMetadata(i, j, k) == 2 && world.getTileEntity(i, j, k + 1) != null && world.getTileEntity(i, j, k + 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k + 1); - else if (world.getBlockMetadata(i, j, k) == 3 && world.getTileEntity(i - 1, j, k) != null && world.getTileEntity(i - 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i - 1, j, k); - if (te != null && me != null && !world.isRemote) if (te.hasMoltenMetal && isConnectedToMolder(world, i, j, k) && me != null && me.hasMold && !me.hasMoltenMetal && !me.hasJewelBase){ - te.pouring = true; - te.isDirty = true; -// System.out.println(Block.getBlockById(Item.getIdFromItem(te.moltenMetal.getItem()))); - }else if (te.hasMetal && te.melting > 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.metalismelting", te.metal.getDisplayName()) + " (" + (ConfigHandler.ingotMeltingTime * te.metal.stackSize - te.melting) * 100 / (ConfigHandler.ingotMeltingTime * te.metal.stackSize) + "%)")); - else if (te.hasMoltenMetal && !isConnectedToMolder(world, i, j, k)) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderismissing"))); - else if (!me.hasMold && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasnomold"))); - else if (me.hasMoltenMetal && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasmoltenmetal"))); - else if (me.hasJewelBase && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.modlerhasitem"))); - else player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.empty"))); - } - - /** - * Determines if a molder is placed in front of this - * - * @param world - * @param i - * @param j - * @param k - * @return true if a molder is attached, false otherwise - */ - public boolean isConnectedToMolder(World world, int i, int j, int k) - { - int blockMeta = world.getBlockMetadata(i, j, k); - if (blockMeta == 0 && world.getBlock(i, j, k - 1) instanceof BlockMolder) return true; - else if (blockMeta == 1 && world.getBlock(i + 1, j, k) instanceof BlockMolder) return true; - else if (blockMeta == 2 && world.getBlock(i, j, k + 1) instanceof BlockMolder) return true; - else if (blockMeta == 3 && world.getBlock(i - 1, j, k) instanceof BlockMolder) return true; - return false; - } - - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon(Variables.MODID + ":smelter"); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30664bea74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30664bea74e70014115de2bb951f0adf new file mode 100644 index 0000000..9b9fc80 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30664bea74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 1; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/1088932b36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/1088932b36e100141e1cc3c3be242e56 deleted file mode 100644 index 3233a23..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/1088932b36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int ingotCoolingTime; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/50894d0b33e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/50894d0b33e100141e1cc3c3be242e56 deleted file mode 100644 index e9f1b64..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8e/50894d0b33e100141e1cc3c3be242e56 +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Mod made by DarkKnight during the Modjam 3 - * It's an awesome mod - * I love me! :D - */ -package darkknight.jewelrycraft; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Logger; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.gen.structure.MapGenStructureIO; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.ModMetadata; -import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.VillagerRegistry; -import cpw.mods.fml.relauncher.Side; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.client.gui.GuiHandler; -import darkknight.jewelrycraft.commands.JewelrycraftCommands; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.curses.CurseList; -import darkknight.jewelrycraft.damage.DamageSourceList; -import darkknight.jewelrycraft.effects.EffectsList; -import darkknight.jewelrycraft.entities.EntityHalfHeart; -import darkknight.jewelrycraft.entities.EntityHeart; -import darkknight.jewelrycraft.events.BucketHandler; -import darkknight.jewelrycraft.events.EntityEventHandler; -import darkknight.jewelrycraft.events.KeyBindings; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.network.PacketClearColorCache; -import darkknight.jewelrycraft.network.PacketKeyPressEvent; -import darkknight.jewelrycraft.network.PacketRequestLiquidData; -import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; -import darkknight.jewelrycraft.network.PacketRequestSetSlot; -import darkknight.jewelrycraft.network.PacketSendCurseStats; -import darkknight.jewelrycraft.network.PacketSendLiquidData; -import darkknight.jewelrycraft.network.PacketSendPlayerInfo; -import darkknight.jewelrycraft.proxy.CommonProxy; -import darkknight.jewelrycraft.recipes.CraftingRecipes; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; -import darkknight.jewelrycraft.worldGen.Generation; -import darkknight.jewelrycraft.worldGen.village.ComponentJewelry; -import darkknight.jewelrycraft.worldGen.village.JCTrades; -import darkknight.jewelrycraft.worldGen.village.VillageJewelryHandler; - -@Mod (modid = Variables.MODID, name = Variables.MODNAME, version = Variables.VERSION) -public class JewelrycraftMod -{ - @Instance (Variables.MODID) - public static JewelrycraftMod instance; - @SidedProxy (clientSide = "darkknight.jewelrycraft.proxy.ClientProxy", serverSide = "darkknight.jewelrycraft.proxy.CommonProxy") - public static CommonProxy proxy; - public static final Logger logger = Logger.getLogger("Jewelrycraft"); - public static File dir; - public static CreativeTabs jewelrycraft = new CreativeTabs(Variables.MODID){ - @Override - public Item getTabIconItem() - { - return Item.getItemFromBlock(BlockList.jewelCraftingTable); - } - }; - public static CreativeTabs liquids = new CreativeTabLiquids("Liquids"); - public static NBTTagCompound saveData = new NBTTagCompound(); - public static NBTTagCompound clientData = new NBTTagCompound(); - public static File liquidsConf; - public static SimpleNetworkWrapper netWrapper; - public static boolean fancyRender; - - /** - * Pre initialization of mod stuff. - * - * @param e FMLPreInitializationEvent - * @throws IOException Signals that an I/O exception has occurred. - */ - @EventHandler - public void preInit(FMLPreInitializationEvent e) throws IOException - { - ConfigHandler.INSTANCE.loadConfig(e); - BlockList.preInit(e); - ItemList.preInit(e); - CraftingRecipes.preInit(e); - CurseList.preInit(e); - OreDictionary.registerOre("ingotShadow", new ItemStack(ItemList.shadowIngot)); - OreDictionary.registerOre("oreShadow", new ItemStack(BlockList.shadowOre)); - VillagerRegistry.instance().registerVillagerId(3000); - VillagerRegistry.instance().registerVillageTradeHandler(3000, new JCTrades()); - VillagerRegistry.instance().registerVillageCreationHandler(new VillageJewelryHandler()); - try{ - MapGenStructureIO.func_143031_a(ComponentJewelry.class, Variables.MODID + ":Jewelry"); - } - catch(Throwable e2){ - logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10"); - } - MinecraftForge.EVENT_BUS.register(new EntityEventHandler()); - MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); - BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket); - - ModMetadata metadata = e.getModMetadata(); - List<String> authorList = new ArrayList<String>(); - - authorList.add("OnyxDarkKnight"); - authorList.add("bspkrs"); - authorList.add("domi1819"); - - dir = e.getModConfigurationDirectory(); - proxy.preInit(); - netWrapper = NetworkRegistry.INSTANCE.newSimpleChannel(Variables.MODID); - netWrapper.registerMessage(PacketRequestLiquidData.class, PacketRequestLiquidData.class, 0, Side.SERVER); - netWrapper.registerMessage(PacketSendLiquidData.class, PacketSendLiquidData.class, 1, Side.CLIENT); - netWrapper.registerMessage(PacketClearColorCache.class, PacketClearColorCache.class, 2, Side.CLIENT); - netWrapper.registerMessage(PacketKeyPressEvent.class, PacketKeyPressEvent.class, 3, Side.SERVER); - netWrapper.registerMessage(PacketRequestPlayerInfo.class, PacketRequestPlayerInfo.class, 4, Side.SERVER); - netWrapper.registerMessage(PacketSendPlayerInfo.class, PacketSendPlayerInfo.class, 5, Side.CLIENT); - netWrapper.registerMessage(PacketSendCurseStats.class, PacketSendCurseStats.class, 6, Side.CLIENT); - netWrapper.registerMessage(PacketRequestSetSlot.class, PacketRequestSetSlot.class, 7, Side.SERVER); - - metadata.autogenerated = false; - metadata.authorList = authorList; - metadata.url = "https://github.com/sor1n/Jewelrycraft"; - - createEntity(EntityHeart.class, Variables.MODID + ".Heart", 0xFF0000, 0xFF0000, false); - createEntity(EntityHalfHeart.class, Variables.MODID + ".Half-Heart", 0x000000, 0xFF0000, false); - -// EntityRegistry.addSpawn(EntityMob.class, 5, 2, 3, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.coldBeach, BiomeGenBase.frozenRiver); - } - - public void createEntity(Class<? extends Entity> entity, String entityName, int solidColor, int spotColor, boolean hasSpawnEgg) - { - int randomID = EntityRegistry.findGlobalUniqueEntityId(); - if(hasSpawnEgg) EntityRegistry.registerGlobalEntityID(entity, entityName, randomID, solidColor, spotColor); - else EntityRegistry.registerGlobalEntityID(entity, entityName, randomID); - EntityRegistry.registerModEntity(entity, entityName, randomID, this, 40, 3, true); - } - - /** - * Initializes the world generation and key bindings. - * - * @param e FMLInitializationEvent - */ - @EventHandler - public void init(FMLInitializationEvent e) - { - GameRegistry.registerWorldGenerator(new Generation(), 0); - if (FMLCommonHandler.instance().getSide() == Side.CLIENT) FMLCommonHandler.instance().bus().register(new KeyBindings()); - new GuiHandler(); - FMLCommonHandler.instance().bus().register(ConfigHandler.INSTANCE); - } - - /** - * Post initialization of metals, modifiers and others. - * - * @param e FMLPostInitializationEvent - */ - @EventHandler - public void postInit(FMLPostInitializationEvent e) - { - JewelrycraftUtil.addMetals(); - JewelrycraftUtil.jamcrafters(); - EffectsList.postInit(e); - DamageSourceList.postInit(e); - proxy.postInit(); - } - - @Mod.EventHandler - public void serverLoad(FMLServerStartingEvent event) - { - event.registerServerCommand(new JewelrycraftCommands()); - } - -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c063d7e7d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c063d7e7d6e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..212372c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c063d7e7d6e6001411c8f2d2b3d65935 @@ -0,0 +1,473 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c0af41a774e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c0af41a774e70014115de2bb951f0adf new file mode 100644 index 0000000..bf00345 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/8f/c0af41a774e70014115de2bb951f0adf @@ -0,0 +1,61 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.7F, 0.7F, 0.7F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9/f049bdca6ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9/f049bdca6ae70014115de2bb951f0adf new file mode 100644 index 0000000..81fe34b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9/f049bdca6ae70014115de2bb951f0adf @@ -0,0 +1,40 @@ +/** + * + */ +package darkknight.jewelrycraft.events; + +import net.minecraft.entity.item.EntityItem; +import net.minecraft.init.Items; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.event.world.BlockEvent; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.block.BlockMidasTouch; +import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch; + +/** + * @author Sorin + */ +public class BlockEventHandler +{ + @SubscribeEvent + public void onBlockDestroyed(BlockEvent.BreakEvent event) + { + // System.out.println("Broken " + event.getResult()); + ItemStack item = event.getPlayer().inventory.getCurrentItem(); + if (event.block instanceof BlockMidasTouch && item != null && item.getItem().getHarvestLevel(item, "pickaxe") >= event.block.getHarvestLevel(event.blockMetadata)){ + TileEntityMidasTouch te = (TileEntityMidasTouch)event.world.getTileEntity(event.x, event.y, event.z); + if (te.target != null) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, new ItemStack(Items.gold_nugget, (int)(te.target.width * te.target.height * 100), 0)); + } + } + + public void dropItem(World world, double x, double y, double z, ItemStack stack) + { + EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + world.spawnEntityInWorld(entityitem); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/20dfaac148e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/20dfaac148e700141e05cdbaeb682437 new file mode 100644 index 0000000..155d17c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/20dfaac148e700141e05cdbaeb682437 @@ -0,0 +1,78 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); +// if (temp != "") +// PlayerRenderHandler.infamyCache = temp.split(";"); +// else +// PlayerRenderHandler.infamyCache = new String[] { }; + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); +// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0) +// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName(); + } +// ByteBufUtils.writeUTF8String(buf, infamyPlayers); + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/402cdd4674e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/402cdd4674e70014115de2bb951f0adf new file mode 100644 index 0000000..090ac7a --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/90/402cdd4674e70014115de2bb951f0adf @@ -0,0 +1,62 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + ItemStack itemStack = new ItemStack(Items.apple); + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); +// texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + texturemanager.bindTexture(curse); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/92/006a95e245e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/92/006a95e245e700141e05cdbaeb682437 new file mode 100644 index 0000000..9dd707f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/92/006a95e245e700141e05cdbaeb682437 @@ -0,0 +1,34 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { + if(event.side == Side.SERVER && event.phase == Phase.END) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + playerInfo.setBoolean("sendInfo", true); + } +// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b049a70cd5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b049a70cd5e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..9ef1eb6 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b049a70cd5e6001411c8f2d2b3d65935 @@ -0,0 +1,29 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b0e6135a6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b0e6135a6ee70014115de2bb951f0adf new file mode 100644 index 0000000..9039a78 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/b0e6135a6ee70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e.getMessage()); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/c006172337e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/c006172337e100141e1cc3c3be242e56 deleted file mode 100644 index 3519106..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/93/c006172337e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/96/0020beb436e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/96/0020beb436e100141e1cc3c3be242e56 deleted file mode 100644 index 7e8547d..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/96/0020beb436e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/707c1e6f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/707c1e6f36e100141e1cc3c3be242e56 deleted file mode 100644 index f02eb49..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/707c1e6f36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; -// public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/70c524ec45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/70c524ec45e700141e05cdbaeb682437 new file mode 100644 index 0000000..a7afb2e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/70c524ec45e700141e05cdbaeb682437 @@ -0,0 +1,34 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { +// if(event.side == Side.SERVER && event.phase == Phase.END) +// { +// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); +// playerInfo.setBoolean("sendInfo", true); +// } +// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/c0ea6dee48e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/c0ea6dee48e700141e05cdbaeb682437 new file mode 100644 index 0000000..357a685 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/98/c0ea6dee48e700141e05cdbaeb682437 @@ -0,0 +1,771 @@ +package darkknight.jewelrycraft.util; + +import java.util.ArrayList; +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class JewelryNBT +{ + // TODO NBT Tag Adding + public static void addItem(ItemStack item, ItemStack target) + { + if (target != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound targetNBT = new NBTTagCompound(); + target.writeToNBT(targetNBT); + itemStackData.setTag("target", targetNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param metal The metal you want to add on the item + */ + public static void addMetal(ItemStack item, ItemStack metal) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound ingotNBT = new NBTTagCompound(); + metal.writeToNBT(ingotNBT); + itemStackData.setTag("ingot", ingotNBT); + } + + /** + * @param item The item you want to add the NBT data on + * @param gem The gem you want to add on the item + */ + public static void addGem(ItemStack item, ItemStack gem) + { + if (gem != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound gemNBT = new NBTTagCompound(); + gem.writeToNBT(gemNBT); + itemStackData.setTag("gem", gemNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param modifier The modifier you want to add on the item + */ + public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier) + { + if (modifier != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + for(int i = 0; i < modifier.size(); i++){ + NBTTagCompound modifierNBT = new NBTTagCompound(); + modifier.get(i).writeToNBT(modifierNBT); + itemStackData.setTag("modifier" + i, modifierNBT); + } + itemStackData.setInteger("modifierSize", modifier.size()); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param entity The entity to add on the item + */ + public static void addEntity(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + entity.writeToNBT(entityNBT); + itemStackData.setTag("entity", entityNBT); + } + + /** + * @param item + * @param entity + */ + public static void addEntityID(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + int id = EntityList.getEntityID(entity); + entityNBT.setInteger("entityID", id); + itemStackData.setTag("entityID", entityNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addCoordonates(ItemStack item, double x, double y, double z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + } + + /** + * @param item + * @param world + * @param x + * @param y + * @param z + */ + public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound tileNBT = new NBTTagCompound(); + NBTTagCompound block = new NBTTagCompound(); + world.getTileEntity(x, y, z).writeToNBT(tileNBT); + itemStackData.setTag("tile", tileNBT); + block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z))); + block.setInteger("metadata", world.getBlockMetadata(x, y, z)); + block.setInteger("blockX", x); + block.setInteger("blockY", y); + block.setInteger("blockZ", z); + itemStackData.setTag("metadata", block); + itemStackData.setTag("blockID", block); + itemStackData.setTag("blockX", block); + itemStackData.setTag("blockY", block); + itemStackData.setTag("blockZ", block); + } + + /** + * @param item + * @param block + * @param metadata + */ + public static void addBlock(ItemStack item, int block, int metadata) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound blockNBT = new NBTTagCompound(); + blockNBT.setInteger("blockID", block); + itemStackData.setTag("blockID", blockNBT); + blockNBT.setInteger("metadata", metadata); + itemStackData.setTag("metadata", blockNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addBlockCoordonates(ItemStack item, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setInteger("blockX", x); + coords.setInteger("blockY", y); + coords.setInteger("blockZ", z); + itemStackData.setTag("blockX", coords); + itemStackData.setTag("blockY", coords); + itemStackData.setTag("blockZ", coords); + } + + /** + * @param item + * @param x + * @param y + * @param z + * @param dim + * @param name + */ + public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + coords.setInteger("dimension", dim); + coords.setString("dimName", name); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + itemStackData.setTag("dimension", coords); + itemStackData.setTag("dimName", coords); + } + + /** + * @param item + */ + public static void addFakeEnchantment(ItemStack item) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.setTag("ench", new NBTTagList()); + } + + /** + * @param item + * @param color + */ + public static void addIngotColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("ingotColor", color); + itemStackData.setTag("ingotColor", colors); + } + + // TODO + /** + * @param item + * @param color + */ + public static void addGemColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("gemColor", color); + itemStackData.setTag("gemColor", colors); + } + + /** + * @param item + * @param list + */ + @SuppressWarnings ("rawtypes") + public static void addEntities(ItemStack item, List list) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + for(int i = 0; i < list.size(); i++) + ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT); + itemStackData.setTag("entities", entityNBT); + } + + // TODO NBT Tag Removing + /** + * @param item + * @param tag + */ + public static void removeNBT(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.removeTag(tag); + } + + /** + * @param item + */ + public static void removeEntity(ItemStack item) + { + JewelryNBT.removeNBT(item, "entityID"); + JewelryNBT.removeNBT(item, "entity"); + JewelryNBT.removeNBT(item, "ench"); + } + + /** + * @param item + */ + public static void removeBlock(ItemStack item) + { + JewelryNBT.removeNBT(item, "blockID"); + JewelryNBT.removeNBT(item, "metadata"); + JewelryNBT.removeNBT(item, "tile"); + JewelryNBT.removeNBT(item, "blockX"); + JewelryNBT.removeNBT(item, "blockY"); + JewelryNBT.removeNBT(item, "blockZ"); + } + + // TODO NTB Tag Checking + /** + * @param item + * @param tag + * @return + */ + public static boolean hasTag(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + if (itemStackData.hasKey(tag)) return true; + return false; + } + + /** + * @param stack + * @param gem + * @return + */ + public static boolean isGemX(ItemStack stack, ItemStack gem) + { + if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param modifier + * @return + */ + public static boolean doesModifierExist(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true; + } + return false; + } + + public static int modifierSize(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize; + } + return -1; + } + + public static int numberOfModifiers(ItemStack stack) + { + if (modifier(stack) != null) return modifier(stack).size(); + return -1; + } + + /** + * @param stack + * @param ingot + * @return + */ + public static boolean isIngotX(ItemStack stack, ItemStack ingot) + { + if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param player + * @param entity + * @return + */ + public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity) + { + if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true; + return false; + } + + /** + * @param stack + * @param dimName + * @return + */ + public static boolean isDimNameX(ItemStack stack, String dimName) + { + if (ingot(stack) != null && dimName(stack).equals(dimName)) return true; + return false; + } + + /** + * @param stack + * @param dimension + * @return + */ + public static boolean isDimensionX(ItemStack stack, int dimension) + { + if (dimension(stack) != -2 && dimension(stack) == dimension) return true; + return false; + } + + // TODO Return components based on NBT + public static ItemStack item(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){ + NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target"); + ItemStack target = new ItemStack(Item.getItemById(0), 0, 0); + target.readFromNBT(itemNBT); + return target; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack gem(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){ + NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem"); + ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0); + gem.readFromNBT(jewelNBT); + return gem; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ArrayList<ItemStack> modifier(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){ + int size = stack.getTagCompound().getInteger("modifierSize"); + ArrayList<ItemStack> list = new ArrayList<ItemStack>(); + for(int i = 0; i < size; i++){ + ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0); + NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i); + modifier.readFromNBT(modifierNBT); + list.add(modifier); + } + return list; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack ingot(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){ + NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot"); + ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0); + ingot.readFromNBT(ingotNBT); + return ingot; + } + return null; + } + + /** + * @param stack + * @param player + * @return + */ + public static EntityLivingBase entity(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID"); + NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity"); + int entityID = 0; + entityID = enID.getInteger("entityID"); + EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj); + if (entity != null && entity instanceof EntityLivingBase){ + entity.readFromNBT(en); + return entity; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static TileEntity tileEntity(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){ + NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile"); + TileEntity tile = TileEntity.createAndLoadEntity(tileNBT); + if (tile != null && tile instanceof TileEntity){ + tile.readFromNBT(tileNBT); + return tile; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String dimName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName"); + String name = dim.getString("dimName"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String modeName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode"); + String name = dim.getString("mode"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static int dimension(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension"); + int dimension = dim.getInteger("dimension"); + return dimension; + } + return -2; + } + + /** + * @param stack + * @return + */ + public static int blockCoordX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX"); + int posX = x.getInteger("blockX"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY"); + int posY = y.getInteger("blockY"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ"); + int posZ = z.getInteger("blockZ"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockID(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){ + NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID"); + int blockId = blockID.getInteger("blockID"); + return blockId; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockMetadata(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){ + NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata"); + int metadata = metadataNBT.getInteger("metadata"); + return metadata; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x"); + double posX = x.getDouble("x"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y"); + double posY = y.getDouble("y"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z"); + double posZ = z.getDouble("z"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int ingotColor(ItemStack stack) + { + System.out.println(stack.getTagCompound()); + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){ + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor"); + int color = colors.getInteger("ingotColor"); + return color; + } + return 16777215; + } + + // TODO + /** + * @param stack + * @return + */ + public static int gemColor(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){ + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor"); + int color = colors.getInteger("gemColor"); + return color; + } + return 16777215; + } + + /** + * @param stack + * @param player + * @return + */ + @SuppressWarnings ({"rawtypes", "unchecked", "null"}) + public static List entities(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID"); + List list = null; + int[] entityID; + EntityLivingBase entity; + entityID = enID.getIntArray("entitiesID"); + for(int element: entityID){ + entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj); + list.add(entity); + } + return list; + } + return null; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e0221a31d0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e0221a31d0e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..84ea0ab --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e0221a31d0e6001411c8f2d2b3d65935 @@ -0,0 +1,468 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + System.out.println(event.specialDropValue); + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/f01de99446e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/f01de99446e700141e05cdbaeb682437 new file mode 100644 index 0000000..1da7cd1 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9a/f01de99446e700141e05cdbaeb682437 @@ -0,0 +1,473 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9d/70ce133137e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9d/70ce133137e100141e1cc3c3be242e56 deleted file mode 100644 index 3bb8e1c..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9d/70ce133137e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int GEM_CHEST_MAX; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/a00bfcbe70e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/a00bfcbe70e70014115de2bb951f0adf new file mode 100644 index 0000000..ef47014 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/a00bfcbe70e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", "")))); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/e05a6d7875e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/e05a6d7875e70014115de2bb951f0adf new file mode 100644 index 0000000..81e54b9 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9e/e05a6d7875e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 16F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32*7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9f/d0d7417947e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9f/d0d7417947e700141e05cdbaeb682437 new file mode 100644 index 0000000..05b2c1e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/9f/d0d7417947e700141e05cdbaeb682437 @@ -0,0 +1,126 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700edfd0d1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700edfd0d1e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..9e94b6b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/700edfd0d1e6001411c8f2d2b3d65935 @@ -0,0 +1,33 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops.size()); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + world.spawnEntityInWorld(entityitem); + System.out.println("Drop"); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/90a0e7ed44e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/90a0e7ed44e700141e05cdbaeb682437 new file mode 100644 index 0000000..9919a3f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a/90a0e7ed44e700141e05cdbaeb682437 @@ -0,0 +1,17 @@ +package darkknight.jewelrycraft.events; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b074f8a10fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b074f8a10fe60014127dc373d78c1666 deleted file mode 100644 index 95f6609..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a1/b074f8a10fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 1.0F); - GL11.glRotatef(65f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/5021dc8fcde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/5021dc8fcde6001411c8f2d2b3d65935 new file mode 100644 index 0000000..40e21e9 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/5021dc8fcde6001411c8f2d2b3d65935 @@ -0,0 +1,468 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + System.out.println(event.specialDropValue); + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d0b0f0ab3de100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d0b0f0ab3de100141e1cc3c3be242e56 deleted file mode 100644 index 6308908..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d0b0f0ab3de100141e1cc3c3be242e56 +++ /dev/null @@ -1,26 +0,0 @@ -package darkknight.jewelrycraft.config; - -import cpw.mods.fml.client.config.GuiConfig; -import cpw.mods.fml.client.config.IConfigElement; -import net.minecraft.client.gui.GuiScreen; -import net.minecraftforge.common.config.ConfigElement; -import java.util.ArrayList; -import java.util.List; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigGui extends GuiConfig -{ - public ConfigGui(GuiScreen parent) - { - super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString())); - } - - @SuppressWarnings ({"rawtypes"}) - private static List<IConfigElement> getElements() - { - List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length); - for(String category: ConfigHandler.categories) - list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category))); - return list; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/1037429770e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/1037429770e70014115de2bb951f0adf new file mode 100644 index 0000000..c00195b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/1037429770e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", "")); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/40403deb74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/40403deb74e70014115de2bb951f0adf new file mode 100644 index 0000000..3bb822f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/40403deb74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/b0e9409a31e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/b0e9409a31e100141e1cc3c3be242e56 deleted file mode 100644 index 9f6c7cc..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a7/b0e9409a31e100141e1cc3c3be242e56 +++ /dev/null @@ -1,27 +0,0 @@ -package darkknight.jewelrycraft.config; - -import cpw.mods.fml.client.config.GuiConfig; -import cpw.mods.fml.client.config.IConfigElement; -import net.minecraft.client.gui.GuiScreen; -import net.minecraftforge.common.config.ConfigElement; -import java.util.ArrayList; -import java.util.List; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigGui extends GuiConfig -{ - public ConfigGui(GuiScreen parent) - { - super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString())); - } - - @SuppressWarnings ({"rawtypes"}) - private static List<IConfigElement> getElements() - { - List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length); - for(String category: ConfigHandler.categories){ - list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category.toLowerCase()))); - } - return list; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b02d0de436e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b02d0de436e100141e1cc3c3be242e56 deleted file mode 100644 index 8e85ae6..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b02d0de436e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a9/804ba49f0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a9/804ba49f0fe60014127dc373d78c1666 deleted file mode 100644 index 30a3515..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/a9/804ba49f0fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 1.0F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/aa/c0d750ee46e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/aa/c0d750ee46e700141e05cdbaeb682437 new file mode 100644 index 0000000..b6f5bf6 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/aa/c0d750ee46e700141e05cdbaeb682437 @@ -0,0 +1,478 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); +// System.out.println(updateTime); + if (updateTime == 0){ + System.out.println("Update"); + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 1000; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40d66aedd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40d66aedd2e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..03a1d73 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ab/40d66aedd2e6001411c8f2d2b3d65935 @@ -0,0 +1,33 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; + world.spawnEntityInWorld(entityitem); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/00104ff947e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/00104ff947e700141e05cdbaeb682437 new file mode 100644 index 0000000..e728502 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/00104ff947e700141e05cdbaeb682437 @@ -0,0 +1,127 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); +// System.out.println(playersInfo); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/60e17a8545e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/60e17a8545e700141e05cdbaeb682437 new file mode 100644 index 0000000..a7afb2e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/60e17a8545e700141e05cdbaeb682437 @@ -0,0 +1,34 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { +// if(event.side == Side.SERVER && event.phase == Phase.END) +// { +// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); +// playerInfo.setBoolean("sendInfo", true); +// } +// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/909d837475e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/909d837475e70014115de2bb951f0adf new file mode 100644 index 0000000..7533743 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/909d837475e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32*7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/e0b0c6e846e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/e0b0c6e846e700141e05cdbaeb682437 new file mode 100644 index 0000000..e9aca81 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ac/e0b0c6e846e700141e05cdbaeb682437 @@ -0,0 +1,477 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (updateTime == 0){ + System.out.println("Update"); + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 2000; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ad/004937966be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ad/004937966be70014115de2bb951f0adf new file mode 100644 index 0000000..30a9d0c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ad/004937966be70014115de2bb951f0adf @@ -0,0 +1,123 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/90feb068d5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/90feb068d5e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..9285b8b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/90feb068d5e6001411c8f2d2b3d65935 @@ -0,0 +1,473 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/e06aaecd74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/e06aaecd74e70014115de2bb951f0adf new file mode 100644 index 0000000..a67f108 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/af/e06aaecd74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); +// GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 2F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/3024a21b48e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/3024a21b48e700141e05cdbaeb682437 new file mode 100644 index 0000000..9978323 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/3024a21b48e700141e05cdbaeb682437 @@ -0,0 +1,77 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); +// if (temp != "") +// PlayerRenderHandler.infamyCache = temp.split(";"); +// else +// PlayerRenderHandler.infamyCache = new String[] { }; + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); +// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0) +// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName(); + } +// ByteBufUtils.writeUTF8String(buf, infamyPlayers); + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/50931add6fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/50931add6fe70014115de2bb951f0adf new file mode 100644 index 0000000..ebfa452 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b/50931add6fe70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ +// renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound()); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20758b6646e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20758b6646e700141e05cdbaeb682437 new file mode 100644 index 0000000..9dd707f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20758b6646e700141e05cdbaeb682437 @@ -0,0 +1,34 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { + if(event.side == Side.SERVER && event.phase == Phase.END) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + playerInfo.setBoolean("sendInfo", true); + } +// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b2/408df7d236e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b2/408df7d236e100141e1cc3c3be242e56 deleted file mode 100644 index 2bea4c9..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b2/408df7d236e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/5082774936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/5082774936e100141e1cc3c3be242e56 deleted file mode 100644 index 3b562b7..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/5082774936e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e09e0f810fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e09e0f810fe60014127dc373d78c1666 deleted file mode 100644 index a5a1674..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e09e0f810fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); -// OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b5/009077530fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b5/009077530fe60014127dc373d78c1666 deleted file mode 100644 index 0518542..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b5/009077530fe60014127dc373d78c1666 +++ /dev/null @@ -1,578 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(60f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a07d88ff3ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a07d88ff3ce100141e1cc3c3be242e56 deleted file mode 100644 index 6308908..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a07d88ff3ce100141e1cc3c3be242e56 +++ /dev/null @@ -1,26 +0,0 @@ -package darkknight.jewelrycraft.config; - -import cpw.mods.fml.client.config.GuiConfig; -import cpw.mods.fml.client.config.IConfigElement; -import net.minecraft.client.gui.GuiScreen; -import net.minecraftforge.common.config.ConfigElement; -import java.util.ArrayList; -import java.util.List; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigGui extends GuiConfig -{ - public ConfigGui(GuiScreen parent) - { - super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString())); - } - - @SuppressWarnings ({"rawtypes"}) - private static List<IConfigElement> getElements() - { - List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length); - for(String category: ConfigHandler.categories) - list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category))); - return list; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b0c07ce874e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b0c07ce874e70014115de2bb951f0adf new file mode 100644 index 0000000..3bb822f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b0c07ce874e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c088de560fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c088de560fe60014127dc373d78c1666 deleted file mode 100644 index 68edc65..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c088de560fe60014127dc373d78c1666 +++ /dev/null @@ -1,578 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/d0c49e653ee700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/d0c49e653ee700141e05cdbaeb682437 new file mode 100644 index 0000000..470d561 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b8/d0c49e653ee700141e05cdbaeb682437 @@ -0,0 +1,38 @@ +package darkknight.jewelrycraft.curses; + +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import darkknight.jewelrycraft.util.Variables; + +public class CurseList +{ + private static Curse rotten; + private static Curse flaming; + private static Curse blind; + private static Curse greed; + private static Curse infamy; + private static Curse midasTouch; + private static Curse rabbitsPaw; + private static Curse pentagram; + private static Curse vampireHunger; + private static Curse humbleBundle; + private static Curse deathsTouch; + private static Curse antichrist; + private static Curse moneyEqualsPower; + + public static void preInit(FMLPreInitializationEvent e) + { + rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0); + flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0); + greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0); + blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0); + infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0); + midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0); + rabbitsPaw = new CurseRabbitsPaw(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0); +// pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0); +// vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0); +// humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0); +// deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0); +// antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0); +// moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/6093724a45e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/6093724a45e700141e05cdbaeb682437 new file mode 100644 index 0000000..b12de27 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/6093724a45e700141e05cdbaeb682437 @@ -0,0 +1,26 @@ +package darkknight.jewelrycraft.events; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.relauncher.Side; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { + if(event.side == Side.SERVER) + System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c084ac2c6ee70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c084ac2c6ee70014115de2bb951f0adf new file mode 100644 index 0000000..dd64830 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c084ac2c6ee70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(e); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && !(Block.getBlockFromItem(item) instanceof BlockAir) && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30816beb3de700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30816beb3de700141e05cdbaeb682437 new file mode 100644 index 0000000..3ff5ed4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30816beb3de700141e05cdbaeb682437 @@ -0,0 +1,122 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); + public static String[] infamyCache = new String[]{}; + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (infamyCache != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + for(int i = 0; i < infamyCache.length; i++) + if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30719b6c6fe70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30719b6c6fe70014115de2bb951f0adf new file mode 100644 index 0000000..4bf6476 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30719b6c6fe70014115de2bb951f0adf @@ -0,0 +1,61 @@ +/** + * + */ +package darkknight.jewelrycraft.item; + +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemGoldObj extends Item +{ + public ItemGoldObj() + {} + + public boolean requiresMultipleRenderPasses() + { + return true; + } + + @SideOnly (Side.CLIENT) + public boolean hasEffect(ItemStack item) + { + return true; + } + + @SideOnly (Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) + { + return 0xffff00; + } + + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + ItemStack item = JewelryNBT.item(stack); + if (item != null) return item.getIconIndex(); + return itemIcon; + } + + public String getItemStackDisplayName(ItemStack stack) + { + System.out.println("Item: " + stack); + if (stack != null && JewelryNBT.item(stack) != null) return "Golden " + JewelryNBT.item(stack).getDisplayName(); + else return "Golden Object"; + } + + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) + { + if (displayInfo) if (JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?"); + else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/4074a0d332e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/4074a0d332e100141e1cc3c3be242e56 deleted file mode 100644 index 384f0b7..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/4074a0d332e100141e1cc3c3be242e56 +++ /dev/null @@ -1,11 +0,0 @@ -package darkknight.jewelrycraft.util; - -public class Variables -{ - public static final String MODID = "jewelrycraft2"; - public static final String MODNAME = "Jewelrycraft 2"; - public static final String VERSION = "1.0"; - public static final String PACKET_CHANNEL = "jewelrycraft2"; - public static final int MAX_CURSES = 10; - public static final String CONFIG_GUI = "thebetweenlands.utils.confighandler.ConfigGuiFactory"; -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/d04b122337e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/d04b122337e100141e1cc3c3be242e56 deleted file mode 100644 index 59e715f..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/bd/d04b122337e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.jewelsChestMax); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.jewelsChestMax); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/be/802b92950fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/be/802b92950fe60014127dc373d78c1666 deleted file mode 100644 index f345333..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/be/802b92950fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 1.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/408fa5b2d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/408fa5b2d3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..b125cef --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/408fa5b2d3e6001411c8f2d2b3d65935 @@ -0,0 +1,25 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops) target.entityDropItem(item.getEntityItem().copy(), 0.5F); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/807b43ff75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/807b43ff75e70014115de2bb951f0adf new file mode 100644 index 0000000..b97d12c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c/807b43ff75e70014115de2bb951f0adf @@ -0,0 +1,67 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + float rot = 0F; + + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glRotatef(rot, 0F, 1F, 0F); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + rot+=4F; + if (rot > 360F) rot = 0F; + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32 * 7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c0/70c41ccd0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c0/70c41ccd0fe60014127dc373d78c1666 deleted file mode 100644 index 4d35230..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c0/70c41ccd0fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.4F, 0.95F); - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(-25f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c1/60f9f2d236e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c1/60f9f2d236e100141e1cc3c3be242e56 deleted file mode 100644 index ed833cf..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c1/60f9f2d236e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.jewelsChestMin, ConfigHandler.jewelsChestMax); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.furnacesIngotStackMin, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.ingotChestMin, ConfigHandler.ingotChestMax, Blocks.trapped_chest, ConfigHandler.ingotChestMaxStack); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/a0cb3be86ae70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/a0cb3be86ae70014115de2bb951f0adf new file mode 100644 index 0000000..6b432e5 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/a0cb3be86ae70014115de2bb951f0adf @@ -0,0 +1,58 @@ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.ScreenHandler; + +public class PacketSendPlayerInfo implements IMessage, IMessageHandler<PacketSendClientPlayerInfo, IMessage> +{ + public NBTTagCompound tagCompound; + + /** + * @param tagCompound + */ + public PacketSendPlayerInfo(NBTTagCompound tagCompound) + { + this.tagCompound = tagCompound; + } + + /** + * + */ + public PacketSendPlayerInfo() + {} + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendClientPlayerInfo message, MessageContext ctx) + { + ScreenHandler.tagCache = message.tagCompound; + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + tagCompound = ByteBufUtils.readTag(buf); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + ByteBufUtils.writeTag(buf, tagCompound); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0134cea38e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0134cea38e100141e1cc3c3be242e56 deleted file mode 100644 index 904f3b4..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0134cea38e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int GEM_CHEST_MAX; - public static int FURNACE_MIN_INGOT_STACK; - public static int FURNACE_MAX_INGOT_STACK; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0cb63e5d6e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0cb63e5d6e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..6a7fe46 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/b0cb63e5d6e6001411c8f2d2b3d65935 @@ -0,0 +1,124 @@ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import java.util.Random; +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.world.World; + +public class Curse +{ + protected int id, texturepack; + protected String name, description; + protected Random rand = new Random(); + private static ArrayList<Curse> curses = new ArrayList<Curse>(); + public static ArrayList<Curse> availableCurses = new ArrayList<Curse>(); + + /** + * @param id the ID of the curse + * @param name the name of the curse + * @param texturepack the ID of the pack the texture is located in + */ + protected Curse(int id, String name, int texturepack) + { + this.id = id; + this.name = name; + this.texturepack = texturepack; + curses.add(this); + availableCurses.add(this); + } + + /** + * @return the name of the curse + */ + public String getName() + { + return name; + } + + /** + * @return the description of the curse + */ + public String getDescription() + { + return description; + } + + public Curse setDescription(String desc) + { + description = desc; + return this; + } + + /** + * @return the curse ID + */ + public int getID() + { + return id; + } + + /** + * @return the texture pack ID + */ + public int getTexturePack() + { + return texturepack; + } + + /** + * @param world + * @param player + */ + public void action(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void playerDeathAction(World world, EntityPlayer player) + {} + + public void entityDeathAction(World world, EntityLivingBase target) + {} + + /** + * @param world + * @param player + */ + public void respawnAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedAction(World world, EntityPlayer player) + {} + + /** + * @param world + * @param player + */ + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + {} + + public boolean itemToss() + { + return false; + } + + /** + * @return + */ + public static ArrayList<Curse> getCurseList() + { + return curses; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/d0f0b6f474e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/d0f0b6f474e70014115de2bb951f0adf new file mode 100644 index 0000000..9f3b210 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c2/d0f0b6f474e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 132; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/b0fd266dd2e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/b0fd266dd2e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..03a1d73 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c3/b0fd266dd2e6001411c8f2d2b3d65935 @@ -0,0 +1,33 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; + world.spawnEntityInWorld(entityitem); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/2028a19f36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/2028a19f36e100141e1cc3c3be242e56 deleted file mode 100644 index 244533c..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/2028a19f36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/308908c731e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/308908c731e100141e1cc3c3be242e56 deleted file mode 100644 index 0d35710..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/308908c731e100141e1cc3c3be242e56 +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Mod made by DarkKnight during the Modjam 3 - * It's an awesome mod - * I love me! :D - */ -package darkknight.jewelrycraft; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Logger; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.gen.structure.MapGenStructureIO; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.ModMetadata; -import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.VillagerRegistry; -import cpw.mods.fml.relauncher.Side; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.client.gui.GuiHandler; -import darkknight.jewelrycraft.commands.JewelrycraftCommands; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.curses.CurseList; -import darkknight.jewelrycraft.damage.DamageSourceList; -import darkknight.jewelrycraft.effects.EffectsList; -import darkknight.jewelrycraft.entities.EntityHalfHeart; -import darkknight.jewelrycraft.entities.EntityHeart; -import darkknight.jewelrycraft.events.BucketHandler; -import darkknight.jewelrycraft.events.EntityEventHandler; -import darkknight.jewelrycraft.events.KeyBindings; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.network.PacketClearColorCache; -import darkknight.jewelrycraft.network.PacketKeyPressEvent; -import darkknight.jewelrycraft.network.PacketRequestLiquidData; -import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; -import darkknight.jewelrycraft.network.PacketRequestSetSlot; -import darkknight.jewelrycraft.network.PacketSendCurseStats; -import darkknight.jewelrycraft.network.PacketSendLiquidData; -import darkknight.jewelrycraft.network.PacketSendPlayerInfo; -import darkknight.jewelrycraft.proxy.CommonProxy; -import darkknight.jewelrycraft.recipes.CraftingRecipes; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; -import darkknight.jewelrycraft.worldGen.Generation; -import darkknight.jewelrycraft.worldGen.village.ComponentJewelry; -import darkknight.jewelrycraft.worldGen.village.JCTrades; -import darkknight.jewelrycraft.worldGen.village.VillageJewelryHandler; - -@Mod (modid = Variables.MODID, name = Variables.MODNAME, version = Variables.VERSION) -public class JewelrycraftMod -{ - @Instance (Variables.MODID) - public static JewelrycraftMod instance; - @SidedProxy (clientSide = "darkknight.jewelrycraft.proxy.ClientProxy", serverSide = "darkknight.jewelrycraft.proxy.CommonProxy") - public static CommonProxy proxy; - public static final Logger logger = Logger.getLogger("Jewelrycraft"); - public static File dir; - public static CreativeTabs jewelrycraft = new CreativeTabs(Variables.MODID){ - @Override - public Item getTabIconItem() - { - return Item.getItemFromBlock(BlockList.jewelCraftingTable); - } - }; - public static CreativeTabs liquids = new CreativeTabLiquids("Liquids"); - public static NBTTagCompound saveData = new NBTTagCompound(); - public static NBTTagCompound clientData = new NBTTagCompound(); - public static File liquidsConf; - public static SimpleNetworkWrapper netWrapper; - public static boolean fancyRender; - - /** - * Pre initialization of mod stuff. - * - * @param e FMLPreInitializationEvent - * @throws IOException Signals that an I/O exception has occurred. - */ - @EventHandler - public void preInit(FMLPreInitializationEvent e) throws IOException - { - ConfigHandler.INSTANCE.loadConfig(e); - BlockList.preInit(e); - ItemList.preInit(e); - CraftingRecipes.preInit(e); - CurseList.preInit(e); - OreDictionary.registerOre("ingotShadow", new ItemStack(ItemList.shadowIngot)); - OreDictionary.registerOre("oreShadow", new ItemStack(BlockList.shadowOre)); - VillagerRegistry.instance().registerVillagerId(3000); - VillagerRegistry.instance().registerVillageTradeHandler(3000, new JCTrades()); - VillagerRegistry.instance().registerVillageCreationHandler(new VillageJewelryHandler()); - try{ - MapGenStructureIO.func_143031_a(ComponentJewelry.class, Variables.MODID + ":Jewelry"); - } - catch(Throwable e2){ - logger.severe("Error registering Jewelrycraft Structures with Vanilla Minecraft: this is expected in versions earlier than 1.7.10"); - } - MinecraftForge.EVENT_BUS.register(new EntityEventHandler()); - MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); - BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket); - - ModMetadata metadata = e.getModMetadata(); - List<String> authorList = new ArrayList<String>(); - - authorList.add("OnyxDarkKnight"); - authorList.add("bspkrs"); - authorList.add("domi1819"); - - dir = e.getModConfigurationDirectory(); - proxy.preInit(); - netWrapper = NetworkRegistry.INSTANCE.newSimpleChannel(Variables.MODID); - netWrapper.registerMessage(PacketRequestLiquidData.class, PacketRequestLiquidData.class, 0, Side.SERVER); - netWrapper.registerMessage(PacketSendLiquidData.class, PacketSendLiquidData.class, 1, Side.CLIENT); - netWrapper.registerMessage(PacketClearColorCache.class, PacketClearColorCache.class, 2, Side.CLIENT); - netWrapper.registerMessage(PacketKeyPressEvent.class, PacketKeyPressEvent.class, 3, Side.SERVER); - netWrapper.registerMessage(PacketRequestPlayerInfo.class, PacketRequestPlayerInfo.class, 4, Side.SERVER); - netWrapper.registerMessage(PacketSendPlayerInfo.class, PacketSendPlayerInfo.class, 5, Side.CLIENT); - netWrapper.registerMessage(PacketSendCurseStats.class, PacketSendCurseStats.class, 6, Side.CLIENT); - netWrapper.registerMessage(PacketRequestSetSlot.class, PacketRequestSetSlot.class, 7, Side.SERVER); - - metadata.autogenerated = false; - metadata.authorList = authorList; - metadata.url = "https://github.com/sor1n/Jewelrycraft"; - - createEntity(EntityHeart.class, Variables.MODID + ".Heart", 0xFF0000, 0xFF0000, false); - createEntity(EntityHalfHeart.class, Variables.MODID + ".Half-Heart", 0x000000, 0xFF0000, false); - -// EntityRegistry.addSpawn(EntityMob.class, 5, 2, 3, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.coldBeach, BiomeGenBase.frozenRiver); - } - - public void createEntity(Class<? extends Entity> entity, String entityName, int solidColor, int spotColor, boolean hasSpawnEgg) - { - int randomID = EntityRegistry.findGlobalUniqueEntityId(); - if(hasSpawnEgg) EntityRegistry.registerGlobalEntityID(entity, entityName, randomID, solidColor, spotColor); - else EntityRegistry.registerGlobalEntityID(entity, entityName, randomID); - EntityRegistry.registerModEntity(entity, entityName, randomID, this, 40, 3, true); - } - - /** - * Initializes the world generation and key bindings. - * - * @param e FMLInitializationEvent - */ - @EventHandler - public void init(FMLInitializationEvent e) - { - GameRegistry.registerWorldGenerator(new Generation(), 0); - if (FMLCommonHandler.instance().getSide() == Side.CLIENT) FMLCommonHandler.instance().bus().register(new KeyBindings()); - new GuiHandler(); - } - - /** - * Post initialization of metals, modifiers and others. - * - * @param e FMLPostInitializationEvent - */ - @EventHandler - public void postInit(FMLPostInitializationEvent e) - { - JewelrycraftUtil.addMetals(); - JewelrycraftUtil.jamcrafters(); - EffectsList.postInit(e); - DamageSourceList.postInit(e); - proxy.postInit(); - } - - @Mod.EventHandler - public void serverLoad(FMLServerStartingEvent event) - { - event.registerServerCommand(new JewelrycraftCommands()); - } - -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/609361c93ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/609361c93ce100141e1cc3c3be242e56 deleted file mode 100644 index adaddd3..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/609361c93ce100141e1cc3c3be242e56 +++ /dev/null @@ -1,66 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static int RITUAL_TIME; - - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int GEM_CHEST_MAX; - public static int FURNACE_MIN_INGOT_STACK; - public static int FURNACE_MAX_INGOT_STACK; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end."); - - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/808c6921d7e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/808c6921d7e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..7259097 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/808c6921d7e6001411c8f2d2b3d65935 @@ -0,0 +1,66 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } + + public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player) + { + String[] types = {"Red", "Blue", "White", "Black"}; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(3) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(world); + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + } + } + } + if (rand.nextInt(3) == 0){ + int i = target.getExperiencePoints(player); + int j = EntityXPOrb.getXPSplit(i); + world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, target.posY, target.posZ, j)); + } + } + + public String getDescription() + { + return "The Dark One is giving you a gift. Don't lose it."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/a003543c36e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/a003543c36e100141e1cc3c3be242e56 deleted file mode 100644 index 015bbd9..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c5/a003543c36e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c7/f01a9f8d0fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c7/f01a9f8d0fe60014127dc373d78c1666 deleted file mode 100644 index 0ced66b..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c7/f01a9f8d0fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(-15f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); -// GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); -// GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/c005cbef74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/c005cbef74e70014115de2bb951f0adf new file mode 100644 index 0000000..3bb822f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/c005cbef74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/d06f3acbd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/d06f3acbd3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..9ef1eb6 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c8/d06f3acbd3e6001411c8f2d2b3d65935 @@ -0,0 +1,29 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/00bc44e375e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/00bc44e375e70014115de2bb951f0adf new file mode 100644 index 0000000..7302c01 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/00bc44e375e70014115de2bb951f0adf @@ -0,0 +1,67 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + float rot = 0F; + + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glRotatef(rot, 0F, 0F, 1F); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + rot++; + if (rot > 360F) rot = 0F; + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32 * 7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/c046b2e074e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/c046b2e074e70014115de2bb951f0adf new file mode 100644 index 0000000..a84e65c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ca/c046b2e074e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/9070315200e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/9070315200e50014174fe663e69b8422 deleted file mode 100644 index 22fbda3..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/9070315200e50014174fe663e69b8422 +++ /dev/null @@ -1,54 +0,0 @@ -/** - * - */ -package darkknight.jewelrycraft.item; - -import java.util.List; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.JewelryNBT; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; - -public class ItemGoldObj extends Item -{ - public ItemGoldObj() - {} - - public boolean requiresMultipleRenderPasses() - { - return true; - } - - @SideOnly (Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) - { - return 0xffff00; - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - System.out.println(JewelryNBT.item(stack).getIconIndex()); - if (JewelryNBT.item(stack) != null && pass >= 0) return getIconIndex(JewelryNBT.item(stack)); - return itemIcon; - } - - public String getItemStackDisplayName(ItemStack stack) - { - return "Golden " + JewelryNBT.item(stack).getDisplayName(); - } - - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) - { - if (displayInfo){ - ItemStack item = JewelryNBT.item(stack); - if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName()); - list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now"); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/c0c4b5dc74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/c0c4b5dc74e70014115de2bb951f0adf new file mode 100644 index 0000000..6cccaed --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cb/c0c4b5dc74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-3F, 15F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/0046f931d5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/0046f931d5e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..470d561 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/0046f931d5e6001411c8f2d2b3d65935 @@ -0,0 +1,38 @@ +package darkknight.jewelrycraft.curses; + +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import darkknight.jewelrycraft.util.Variables; + +public class CurseList +{ + private static Curse rotten; + private static Curse flaming; + private static Curse blind; + private static Curse greed; + private static Curse infamy; + private static Curse midasTouch; + private static Curse rabbitsPaw; + private static Curse pentagram; + private static Curse vampireHunger; + private static Curse humbleBundle; + private static Curse deathsTouch; + private static Curse antichrist; + private static Curse moneyEqualsPower; + + public static void preInit(FMLPreInitializationEvent e) + { + rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0); + flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0); + greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0); + blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0); + infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0); + midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0); + rabbitsPaw = new CurseRabbitsPaw(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0); +// pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0); +// vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0); +// humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0); +// deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0); +// antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0); +// moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/90bd5dcb47e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/90bd5dcb47e700141e05cdbaeb682437 new file mode 100644 index 0000000..31ebcd5 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cc/90bd5dcb47e700141e05cdbaeb682437 @@ -0,0 +1,127 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(playersInfo); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cd/50a9959ecde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cd/50a9959ecde6001411c8f2d2b3d65935 new file mode 100644 index 0000000..08f83f0 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cd/50a9959ecde6001411c8f2d2b3d65935 @@ -0,0 +1,12 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cf/90de1e2936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cf/90de1e2936e100141e1cc3c3be242e56 deleted file mode 100644 index b9a276b..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/cf/90de1e2936e100141e1cc3c3be242e56 +++ /dev/null @@ -1,186 +0,0 @@ -package darkknight.jewelrycraft.tileentity; - -import java.util.Random; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class TileEntitySmelter extends TileEntity -{ - public int melting, flow, n = 0, p = 0; - public boolean hasMetal, hasMoltenMetal, isDirty, pouring; - public ItemStack metal, moltenMetal; - public float quantity, pouredQuantity = 0.1f; - - /** - * - */ - public TileEntitySmelter() - { - melting = 0; - pouring = false; - flow = 0; - quantity = 0f; - hasMetal = false; - hasMoltenMetal = false; - metal = new ItemStack(Item.getItemById(0), 0, 0); - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - isDirty = false; - } - - /** - * @param nbt - */ - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - nbt.setInteger("melting", melting); - nbt.setFloat("quantity", quantity); - nbt.setBoolean("hasMetal", hasMetal); - nbt.setBoolean("hasMoltenMetal", hasMoltenMetal); - nbt.setBoolean("pouring", pouring); - NBTTagCompound tag = new NBTTagCompound(); - NBTTagCompound tag1 = new NBTTagCompound(); - metal.writeToNBT(tag); - nbt.setTag("metal", tag); - moltenMetal.writeToNBT(tag1); - nbt.setTag("moltenMetal", tag1); - } - - /** - * @param nbt - */ - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - melting = nbt.getInteger("melting"); - quantity = nbt.getFloat("quantity"); - hasMetal = nbt.getBoolean("hasMetal"); - hasMoltenMetal = nbt.getBoolean("hasMoltenMetal"); - pouring = nbt.getBoolean("pouring"); - metal = new ItemStack(Item.getItemById(0), 0, 0); - metal.readFromNBT(nbt.getCompoundTag("metal")); - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - moltenMetal.readFromNBT(nbt.getCompoundTag("moltenMetal")); - } - - /** - * - */ - @Override - public void updateEntity() - { - super.updateEntity(); - Random rand = new Random(); - if (isDirty){ - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - isDirty = false; - } - if (p > 0) --p; - else p = 5; - if (n == 0 && p == 0){ - flow += 16; - if (flow >= 16 * 20) n = 1; - } - if (n == 1 && p == 0){ - flow -= 16; - if (flow <= 0) n = 0; - } - if (hasMetal) for(int l = 0; l < 2; ++l) - worldObj.spawnParticle("flame", xCoord + rand.nextFloat(), (double)yCoord + 0.3F, zCoord + rand.nextFloat(), 0.0D, 0.0D, 0.0D); - if (rand.nextInt(65) == 0){ - double d5 = xCoord + rand.nextFloat(); - double d7 = yCoord; - double d6 = zCoord + rand.nextFloat(); - worldObj.playSound(d5, d7, d6, "liquid.lavapop", 0.2F + rand.nextFloat() * 0.2F, 0.9F + rand.nextFloat() * 0.15F, false); - } - if (hasMetal && !hasMoltenMetal){ - boolean isOre = JewelrycraftUtil.isOre(metal); - if (melting > 0) melting--; - if (melting == 0){ - hasMetal = false; - if (!isOre) moltenMetal = metal; - else{ - moltenMetal = JewelrycraftUtil.getIngotFromOre(metal.getItem()); - moltenMetal.stackSize *= 2; - } - hasMoltenMetal = true; - if (!isOre) quantity = 0.1f * metal.stackSize; - else quantity = 0.2f * metal.stackSize; - metal = new ItemStack(Item.getItemById(0), 0, 0); - melting = -1; - isDirty = true; - } - }else if (hasMoltenMetal){ - boolean isOre = JewelrycraftUtil.isOre(metal); - if (melting > 0) melting--; - if (melting == 0){ - hasMetal = false; - if (!isOre) moltenMetal.stackSize += metal.stackSize; - else moltenMetal.stackSize += metal.stackSize * 2; - if (!isOre) quantity += 0.1f * metal.stackSize; - else quantity += 0.2f * metal.stackSize; - metal = new ItemStack(Item.getItemById(0), 0, 0); - melting = -1; - isDirty = true; - } - } - TileEntityMolder me = null; - if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 0 && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); - else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 1 && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); - else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 2 && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) != null && worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); - else if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 3 && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) != null && worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) instanceof TileEntityMolder) me = (TileEntityMolder)worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); - if (pouring && pouredQuantity > 0f){ - quantity -= 0.01f; - pouredQuantity -= 0.01f; - me.quantity += 0.01f; - if (!me.hasMoltenMetal){ - me.moltenMetal = moltenMetal; - me.hasMoltenMetal = true; - } - if (pouredQuantity <= 0f){ - pouring = false; - pouredQuantity = 0.1f; - me.cooling = ConfigHandler.INGOT_COOLING_TIME; - } - if (quantity <= 0f){ - quantity = 0f; - hasMoltenMetal = false; - moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); - // pouring = false; - me.cooling = ConfigHandler.INGOT_COOLING_TIME; - } - me.isDirty = true; - } - } - - /** - * @return - */ - @Override - public Packet getDescriptionPacket() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeToNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound); - } - - /** - * @param net - * @param packet - */ - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) - { - readFromNBT(packet.func_148857_g()); - worldObj.func_147479_m(xCoord, yCoord, zCoord); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/20a95838d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/20a95838d3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..af1f56c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/20a95838d3e6001411c8f2d2b3d65935 @@ -0,0 +1,35 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; +// world.spawnEntityInWorld(entityitem); +// target.entityDropItem(item.getEntityItem(), 0.5F); + target.dropItem(item.getEntityItem().getItem(), 1); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/7018641076e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/7018641076e70014115de2bb951f0adf new file mode 100644 index 0000000..d4788c7 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d/7018641076e70014115de2bb951f0adf @@ -0,0 +1,67 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + float rot = 0F; + + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + {} + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glRotatef(rot, 0F, 1F, 0F); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + rot+=2F; + if (rot > 360F) rot = 0F; + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32 * 7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/201cc7f23ce100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/201cc7f23ce100141e1cc3c3be242e56 deleted file mode 100644 index 9553111..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/201cc7f23ce100141e1cc3c3be242e56 +++ /dev/null @@ -1,66 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static int RITUAL_TIME; - - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int GEM_CHEST_MIN; - public static int GEM_CHEST_MAX; - public static int FURNACE_MIN_INGOT_STACK; - public static int FURNACE_MAX_INGOT_STACK; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile(),true); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end."); - - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - GEM_CHEST_MIN = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - GEM_CHEST_MAX = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - FURNACE_MIN_INGOT_STACK = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - FURNACE_MAX_INGOT_STACK = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/b032073032e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/b032073032e100141e1cc3c3be242e56 deleted file mode 100644 index f47fa57..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d1/b032073032e100141e1cc3c3be242e56 +++ /dev/null @@ -1,63 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int ingotCoolingTime; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - ingotCoolingTime = config.get(categories[0], "Molder Ingot Cooling Time", ingotCoolingTime, "This sets the number of ticks you need to wait before the mold is cooled.").getInt(100); - ingotMeltingTime = config.get(categories[0], "Ingot Melting Time", ingotMeltingTime, "This sets the number of ticks you need to wait before an ingot is completely smelted.").getInt(1500); - jewelryCraftingTime = config.get(categories[0], "Jewelry Crafting Time", jewelryCraftingTime, "This sets the number of ticks it takes for a jewel to be modified.").getInt(200); - generateVillageNetherstar = config.get(categories[1], "Netherstar Generation", generateVillageNetherstar, "If set to true Nether Stars will be able to generate in Jewelers chests.").getBoolean(false); - canFurnacesGenerateIngots = config.get(categories[1], "Furnace Ingots Generation", canFurnacesGenerateIngots, "If set to true jewelers will generate ingots in furnaces.").getBoolean(true); - maxVillageJewelers = config.get(categories[1], "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1); - jewelerWeight = config.get(categories[1], "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30); - ingotChestMin = config.get(categories[1], "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1); - ingotChestMax = config.get(categories[1], "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4); - ingotChestMaxStack = config.get(categories[1], "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2); - jewelsChestMin = config.get(categories[1], "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2); - jewelsChestMax = config.get(categories[1], "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5); - furnacesIngotStackMin = config.get(categories[1], "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2); - furnacesIngotStackMax = config.get(categories[1], "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c0856d0975e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c0856d0975e70014115de2bb951f0adf new file mode 100644 index 0000000..12c4190 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d2/c0856d0975e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 64; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0d63d1275e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0d63d1275e70014115de2bb951f0adf new file mode 100644 index 0000000..64f580f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0d63d1275e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 32; + int y = 0; + int u = 32; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d026faa2cbe6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d026faa2cbe6001411c8f2d2b3d65935 new file mode 100644 index 0000000..e4105c8 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d026faa2cbe6001411c8f2d2b3d65935 @@ -0,0 +1,24 @@ +package darkknight.jewelrycraft.curses; + +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import darkknight.jewelrycraft.util.Variables; + +public class CurseList +{ + private static Curse rotten; + private static Curse flaming; + private static Curse blind; + private static Curse greed; + private static Curse infamy; + private static Curse midasTouch; + + public static void preInit(FMLPreInitializationEvent e) + { + rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0); + flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0); + greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0); + blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0); + infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0); + midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/904f212936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/904f212936e100141e1cc3c3be242e56 deleted file mode 100644 index 2453924..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/904f212936e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - jewelerWeight = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - ingotChestMin = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMax = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - ingotChestMaxStack = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90a4d55770e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90a4d55770e70014115de2bb951f0adf new file mode 100644 index 0000000..8938e9d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90a4d55770e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4)); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/6082ec3ed4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/6082ec3ed4e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..8be1e62 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d7/6082ec3ed4e6001411c8f2d2b3d65935 @@ -0,0 +1,32 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops.size()); + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + System.out.println(drop.stackSize); + if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + System.out.println("~~~~~~~~~~~~"); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/400290a9d4e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/400290a9d4e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..925ceda --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/400290a9d4e6001411c8f2d2b3d65935 @@ -0,0 +1,467 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/b0614a4248e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/b0614a4248e700141e05cdbaeb682437 new file mode 100644 index 0000000..9c25ad9 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/d9/b0614a4248e700141e05cdbaeb682437 @@ -0,0 +1,127 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); +// System.out.println(PlayerUtils.getModPlayerPersistTag(player, Variables.MODID)); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/1017634670e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/1017634670e70014115de2bb951f0adf new file mode 100644 index 0000000..1c30b7b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/1017634670e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(3)); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/70f5abaa35e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/70f5abaa35e100141e1cc3c3be242e56 deleted file mode 100644 index 627ca48..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/70f5abaa35e100141e1cc3c3be242e56 +++ /dev/null @@ -1,63 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int ingotCoolingTime; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - ingotCoolingTime = config.get(categories[0], "Molder Ingot Cooling Time", ingotCoolingTime, "This sets the number of ticks you need to wait before the mold is cooled.").getInt(100); - ingotMeltingTime = config.get(categories[0], "Ingot Melting Time", ingotMeltingTime, "This sets the number of ticks you need to wait before an ingot is completely smelted.").getInt(1500); - jewelryCraftingTime = config.get(categories[0], "Jewelry Crafting Time", jewelryCraftingTime, "This sets the number of ticks it takes for a jewel to be modified.").getInt(200); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.get(categories[1], "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1); - jewelerWeight = config.get(categories[1], "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30); - ingotChestMin = config.get(categories[1], "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1); - ingotChestMax = config.get(categories[1], "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4); - ingotChestMaxStack = config.get(categories[1], "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2); - jewelsChestMin = config.get(categories[1], "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2); - jewelsChestMax = config.get(categories[1], "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5); - furnacesIngotStackMin = config.get(categories[1], "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2); - furnacesIngotStackMax = config.get(categories[1], "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0ebd00b3de700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0ebd00b3de700141e05cdbaeb682437 new file mode 100644 index 0000000..b53c27d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0ebd00b3de700141e05cdbaeb682437 @@ -0,0 +1,122 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (infamyCache != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + for(int i = 0; i < infamyCache.length; i++) + if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/df/30e8bfda74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/df/30e8bfda74e70014115de2bb951f0adf new file mode 100644 index 0000000..6490580 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/df/30e8bfda74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(3F, 15F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/3010dd8c3de100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/3010dd8c3de100141e1cc3c3be242e56 deleted file mode 100644 index f3d10a0..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/3010dd8c3de100141e1cc3c3be242e56 +++ /dev/null @@ -1,26 +0,0 @@ -package darkknight.jewelrycraft.config; - -import cpw.mods.fml.client.config.GuiConfig; -import cpw.mods.fml.client.config.IConfigElement; -import net.minecraft.client.gui.GuiScreen; -import net.minecraftforge.common.config.ConfigElement; -import java.util.ArrayList; -import java.util.List; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigGui extends GuiConfig -{ - public ConfigGui(GuiScreen parent) - { - super(parent, getElements(), Variables.MODID, Variables.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigHandler.INSTANCE.config.toString())); - } - - @SuppressWarnings ({"rawtypes"}) - private static List<IConfigElement> getElements() - { - List<IConfigElement> list = new ArrayList<IConfigElement>(ConfigHandler.categories.length); - for(String category: ConfigHandler.categories) - list.add(new ConfigElement(ConfigHandler.INSTANCE.config.getCategory(category.toLowerCase()))); - return list; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/30bb5c60d5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/30bb5c60d5e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..71e21bd --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/30bb5c60d5e6001411c8f2d2b3d65935 @@ -0,0 +1,55 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +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.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } + + public void entityDeathAction(World world, EntityLivingBase target) + { + String[] types = {"Red", "Blue", "White", "Black"}; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(3) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(world); + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + world.spawnEntityInWorld(h); + } + } + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/d08c740047e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/d08c740047e700141e05cdbaeb682437 new file mode 100644 index 0000000..bd522ea --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e0/d08c740047e700141e05cdbaeb682437 @@ -0,0 +1,477 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + int updateTime = 0; + + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (updateTime > 0) updateTime--; + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (updateTime == 0){ + System.out.println("Update"); + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + updateTime = 1000; + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/508b21c574e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/508b21c574e70014115de2bb951f0adf new file mode 100644 index 0000000..2ef4c69 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e1/508b21c574e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + GL11.glTranslatef(1F, 1F, 1F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/507ccf1b75e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/507ccf1b75e70014115de2bb951f0adf new file mode 100644 index 0000000..5be8cde --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e2/507ccf1b75e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-15F, 15F, -15F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32*8; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/500859b548e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/500859b548e700141e05cdbaeb682437 new file mode 100644 index 0000000..a7afb2e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/500859b548e700141e05cdbaeb682437 @@ -0,0 +1,34 @@ +package darkknight.jewelrycraft.events; + +import net.minecraft.nbt.NBTTagCompound; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class EventCommonHandler +{ + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) + { +// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName()); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) + { +// if(event.side == Side.SERVER && event.phase == Phase.END) +// { +// NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); +// playerInfo.setBoolean("sendInfo", true); +// } +// System.out.println("Tick " + event.phase + " " + event.type + " " + event.side); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/a0cd97f748e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/a0cd97f748e700141e05cdbaeb682437 new file mode 100644 index 0000000..34bbfcc --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e3/a0cd97f748e700141e05cdbaeb682437 @@ -0,0 +1,771 @@ +package darkknight.jewelrycraft.util; + +import java.util.ArrayList; +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class JewelryNBT +{ + // TODO NBT Tag Adding + public static void addItem(ItemStack item, ItemStack target) + { + if (target != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound targetNBT = new NBTTagCompound(); + target.writeToNBT(targetNBT); + itemStackData.setTag("target", targetNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param metal The metal you want to add on the item + */ + public static void addMetal(ItemStack item, ItemStack metal) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound ingotNBT = new NBTTagCompound(); + metal.writeToNBT(ingotNBT); + itemStackData.setTag("ingot", ingotNBT); + } + + /** + * @param item The item you want to add the NBT data on + * @param gem The gem you want to add on the item + */ + public static void addGem(ItemStack item, ItemStack gem) + { + if (gem != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound gemNBT = new NBTTagCompound(); + gem.writeToNBT(gemNBT); + itemStackData.setTag("gem", gemNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param modifier The modifier you want to add on the item + */ + public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier) + { + if (modifier != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + for(int i = 0; i < modifier.size(); i++){ + NBTTagCompound modifierNBT = new NBTTagCompound(); + modifier.get(i).writeToNBT(modifierNBT); + itemStackData.setTag("modifier" + i, modifierNBT); + } + itemStackData.setInteger("modifierSize", modifier.size()); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param entity The entity to add on the item + */ + public static void addEntity(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + entity.writeToNBT(entityNBT); + itemStackData.setTag("entity", entityNBT); + } + + /** + * @param item + * @param entity + */ + public static void addEntityID(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + int id = EntityList.getEntityID(entity); + entityNBT.setInteger("entityID", id); + itemStackData.setTag("entityID", entityNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addCoordonates(ItemStack item, double x, double y, double z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + } + + /** + * @param item + * @param world + * @param x + * @param y + * @param z + */ + public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound tileNBT = new NBTTagCompound(); + NBTTagCompound block = new NBTTagCompound(); + world.getTileEntity(x, y, z).writeToNBT(tileNBT); + itemStackData.setTag("tile", tileNBT); + block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z))); + block.setInteger("metadata", world.getBlockMetadata(x, y, z)); + block.setInteger("blockX", x); + block.setInteger("blockY", y); + block.setInteger("blockZ", z); + itemStackData.setTag("metadata", block); + itemStackData.setTag("blockID", block); + itemStackData.setTag("blockX", block); + itemStackData.setTag("blockY", block); + itemStackData.setTag("blockZ", block); + } + + /** + * @param item + * @param block + * @param metadata + */ + public static void addBlock(ItemStack item, int block, int metadata) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound blockNBT = new NBTTagCompound(); + blockNBT.setInteger("blockID", block); + itemStackData.setTag("blockID", blockNBT); + blockNBT.setInteger("metadata", metadata); + itemStackData.setTag("metadata", blockNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addBlockCoordonates(ItemStack item, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setInteger("blockX", x); + coords.setInteger("blockY", y); + coords.setInteger("blockZ", z); + itemStackData.setTag("blockX", coords); + itemStackData.setTag("blockY", coords); + itemStackData.setTag("blockZ", coords); + } + + /** + * @param item + * @param x + * @param y + * @param z + * @param dim + * @param name + */ + public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + coords.setInteger("dimension", dim); + coords.setString("dimName", name); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + itemStackData.setTag("dimension", coords); + itemStackData.setTag("dimName", coords); + } + + /** + * @param item + */ + public static void addFakeEnchantment(ItemStack item) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.setTag("ench", new NBTTagList()); + } + + /** + * @param item + * @param color + */ + public static void addIngotColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("ingotColor", color); + itemStackData.setTag("ingotColor", colors); + } + + // TODO + /** + * @param item + * @param color + */ + public static void addGemColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("gemColor", color); + itemStackData.setTag("gemColor", colors); + } + + /** + * @param item + * @param list + */ + @SuppressWarnings ("rawtypes") + public static void addEntities(ItemStack item, List list) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + for(int i = 0; i < list.size(); i++) + ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT); + itemStackData.setTag("entities", entityNBT); + } + + // TODO NBT Tag Removing + /** + * @param item + * @param tag + */ + public static void removeNBT(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.removeTag(tag); + } + + /** + * @param item + */ + public static void removeEntity(ItemStack item) + { + JewelryNBT.removeNBT(item, "entityID"); + JewelryNBT.removeNBT(item, "entity"); + JewelryNBT.removeNBT(item, "ench"); + } + + /** + * @param item + */ + public static void removeBlock(ItemStack item) + { + JewelryNBT.removeNBT(item, "blockID"); + JewelryNBT.removeNBT(item, "metadata"); + JewelryNBT.removeNBT(item, "tile"); + JewelryNBT.removeNBT(item, "blockX"); + JewelryNBT.removeNBT(item, "blockY"); + JewelryNBT.removeNBT(item, "blockZ"); + } + + // TODO NTB Tag Checking + /** + * @param item + * @param tag + * @return + */ + public static boolean hasTag(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + if (itemStackData.hasKey(tag)) return true; + return false; + } + + /** + * @param stack + * @param gem + * @return + */ + public static boolean isGemX(ItemStack stack, ItemStack gem) + { + if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param modifier + * @return + */ + public static boolean doesModifierExist(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true; + } + return false; + } + + public static int modifierSize(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize; + } + return -1; + } + + public static int numberOfModifiers(ItemStack stack) + { + if (modifier(stack) != null) return modifier(stack).size(); + return -1; + } + + /** + * @param stack + * @param ingot + * @return + */ + public static boolean isIngotX(ItemStack stack, ItemStack ingot) + { + if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param player + * @param entity + * @return + */ + public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity) + { + if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true; + return false; + } + + /** + * @param stack + * @param dimName + * @return + */ + public static boolean isDimNameX(ItemStack stack, String dimName) + { + if (ingot(stack) != null && dimName(stack).equals(dimName)) return true; + return false; + } + + /** + * @param stack + * @param dimension + * @return + */ + public static boolean isDimensionX(ItemStack stack, int dimension) + { + if (dimension(stack) != -2 && dimension(stack) == dimension) return true; + return false; + } + + // TODO Return components based on NBT + public static ItemStack item(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){ + NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target"); + ItemStack target = new ItemStack(Item.getItemById(0), 0, 0); + target.readFromNBT(itemNBT); + return target; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack gem(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){ + NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem"); + ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0); + gem.readFromNBT(jewelNBT); + return gem; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ArrayList<ItemStack> modifier(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){ + int size = stack.getTagCompound().getInteger("modifierSize"); + ArrayList<ItemStack> list = new ArrayList<ItemStack>(); + for(int i = 0; i < size; i++){ + ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0); + NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i); + modifier.readFromNBT(modifierNBT); + list.add(modifier); + } + return list; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack ingot(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){ + NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot"); + ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0); + ingot.readFromNBT(ingotNBT); + return ingot; + } + return null; + } + + /** + * @param stack + * @param player + * @return + */ + public static EntityLivingBase entity(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID"); + NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity"); + int entityID = 0; + entityID = enID.getInteger("entityID"); + EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj); + if (entity != null && entity instanceof EntityLivingBase){ + entity.readFromNBT(en); + return entity; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static TileEntity tileEntity(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){ + NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile"); + TileEntity tile = TileEntity.createAndLoadEntity(tileNBT); + if (tile != null && tile instanceof TileEntity){ + tile.readFromNBT(tileNBT); + return tile; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String dimName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName"); + String name = dim.getString("dimName"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String modeName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode"); + String name = dim.getString("mode"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static int dimension(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension"); + int dimension = dim.getInteger("dimension"); + return dimension; + } + return -2; + } + + /** + * @param stack + * @return + */ + public static int blockCoordX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX"); + int posX = x.getInteger("blockX"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY"); + int posY = y.getInteger("blockY"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ"); + int posZ = z.getInteger("blockZ"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockID(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){ + NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID"); + int blockId = blockID.getInteger("blockID"); + return blockId; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockMetadata(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){ + NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata"); + int metadata = metadataNBT.getInteger("metadata"); + return metadata; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x"); + double posX = x.getDouble("x"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y"); + double posY = y.getDouble("y"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z"); + double posZ = z.getDouble("z"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int ingotColor(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){ + System.out.println(stack.getTagCompound()); + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor"); + int color = colors.getInteger("ingotColor"); + return color; + } + return 16777215; + } + + // TODO + /** + * @param stack + * @return + */ + public static int gemColor(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){ + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor"); + int color = colors.getInteger("gemColor"); + return color; + } + return 16777215; + } + + /** + * @param stack + * @param player + * @return + */ + @SuppressWarnings ({"rawtypes", "unchecked", "null"}) + public static List entities(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID"); + List list = null; + int[] entityID; + EntityLivingBase entity; + entityID = enID.getIntArray("entitiesID"); + for(int element: entityID){ + entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj); + list.add(entity); + } + return list; + } + return null; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50dc9ef400e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/805ab54b6fe70014115de2bb951f0adf index d8755a6..7ad25c4 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50dc9ef400e50014174fe663e69b8422 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e4/805ab54b6fe70014115de2bb951f0adf @@ -4,15 +4,17 @@ package darkknight.jewelrycraft.item; import java.util.List; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.JewelryNBT; +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.JewelryNBT; public class ItemGoldObj extends Item { @@ -25,6 +27,12 @@ public class ItemGoldObj extends Item } @SideOnly (Side.CLIENT) + public boolean hasEffect(ItemStack item) + { + return true; + } + + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { return 0xffff00; @@ -33,21 +41,20 @@ public class ItemGoldObj extends Item @Override public IIcon getIcon(ItemStack stack, int pass) { - if (JewelryNBT.item(stack) != null) return JewelryNBT.item(stack).getItem().getIconIndex(JewelryNBT.item(stack)); + ItemStack item = JewelryNBT.item(stack); + if (item != null) return item.getIconIndex(); return itemIcon; } public String getItemStackDisplayName(ItemStack stack) { - return "Golden " + JewelryNBT.item(stack).getDisplayName(); + return "Golden " + ((stack != null && JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object"); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) { - if (displayInfo){ - ItemStack item = JewelryNBT.item(stack); - if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName()); - list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now"); - } + if (displayInfo) + if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?"); + else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); } } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/005a95ccd5e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/005a95ccd5e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..389d2b1 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/005a95ccd5e6001411c8f2d2b3d65935 @@ -0,0 +1,474 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + System.out.println("Spwan original heart"); + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving); + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/b01401a175e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/b01401a175e70014115de2bb951f0adf new file mode 100644 index 0000000..77a9960 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/b01401a175e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(-16F, 15F, -16F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 32*7; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0eb43b700e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0eb43b700e50014174fe663e69b8422 deleted file mode 100644 index 6d4bb3a..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0eb43b700e50014174fe663e69b8422 +++ /dev/null @@ -1,53 +0,0 @@ -/** - * - */ -package darkknight.jewelrycraft.item; - -import java.util.List; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.JewelryNBT; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; - -public class ItemGoldObj extends Item -{ - public ItemGoldObj() - {} - - public boolean requiresMultipleRenderPasses() - { - return true; - } - - @SideOnly (Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) - { - return 0xffff00; - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (JewelryNBT.item(stack) != null && pass >= 0) return JewelryNBT.item(stack).getItem().getIconIndex(JewelryNBT.item(stack)); - return itemIcon; - } - - public String getItemStackDisplayName(ItemStack stack) - { - return "Golden " + JewelryNBT.item(stack).getDisplayName(); - } - - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) - { - if (displayInfo){ - ItemStack item = JewelryNBT.item(stack); - if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName()); - list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now"); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/10f6ee3a70e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/10f6ee3a70e70014115de2bb951f0adf new file mode 100644 index 0000000..7eb5e9f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/10f6ee3a70e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0]); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/a055c20849e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/a055c20849e700141e05cdbaeb682437 new file mode 100644 index 0000000..357a685 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/a055c20849e700141e05cdbaeb682437 @@ -0,0 +1,771 @@ +package darkknight.jewelrycraft.util; + +import java.util.ArrayList; +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class JewelryNBT +{ + // TODO NBT Tag Adding + public static void addItem(ItemStack item, ItemStack target) + { + if (target != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound targetNBT = new NBTTagCompound(); + target.writeToNBT(targetNBT); + itemStackData.setTag("target", targetNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param metal The metal you want to add on the item + */ + public static void addMetal(ItemStack item, ItemStack metal) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound ingotNBT = new NBTTagCompound(); + metal.writeToNBT(ingotNBT); + itemStackData.setTag("ingot", ingotNBT); + } + + /** + * @param item The item you want to add the NBT data on + * @param gem The gem you want to add on the item + */ + public static void addGem(ItemStack item, ItemStack gem) + { + if (gem != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound gemNBT = new NBTTagCompound(); + gem.writeToNBT(gemNBT); + itemStackData.setTag("gem", gemNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param modifier The modifier you want to add on the item + */ + public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier) + { + if (modifier != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + for(int i = 0; i < modifier.size(); i++){ + NBTTagCompound modifierNBT = new NBTTagCompound(); + modifier.get(i).writeToNBT(modifierNBT); + itemStackData.setTag("modifier" + i, modifierNBT); + } + itemStackData.setInteger("modifierSize", modifier.size()); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param entity The entity to add on the item + */ + public static void addEntity(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + entity.writeToNBT(entityNBT); + itemStackData.setTag("entity", entityNBT); + } + + /** + * @param item + * @param entity + */ + public static void addEntityID(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + int id = EntityList.getEntityID(entity); + entityNBT.setInteger("entityID", id); + itemStackData.setTag("entityID", entityNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addCoordonates(ItemStack item, double x, double y, double z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + } + + /** + * @param item + * @param world + * @param x + * @param y + * @param z + */ + public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound tileNBT = new NBTTagCompound(); + NBTTagCompound block = new NBTTagCompound(); + world.getTileEntity(x, y, z).writeToNBT(tileNBT); + itemStackData.setTag("tile", tileNBT); + block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z))); + block.setInteger("metadata", world.getBlockMetadata(x, y, z)); + block.setInteger("blockX", x); + block.setInteger("blockY", y); + block.setInteger("blockZ", z); + itemStackData.setTag("metadata", block); + itemStackData.setTag("blockID", block); + itemStackData.setTag("blockX", block); + itemStackData.setTag("blockY", block); + itemStackData.setTag("blockZ", block); + } + + /** + * @param item + * @param block + * @param metadata + */ + public static void addBlock(ItemStack item, int block, int metadata) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound blockNBT = new NBTTagCompound(); + blockNBT.setInteger("blockID", block); + itemStackData.setTag("blockID", blockNBT); + blockNBT.setInteger("metadata", metadata); + itemStackData.setTag("metadata", blockNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addBlockCoordonates(ItemStack item, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setInteger("blockX", x); + coords.setInteger("blockY", y); + coords.setInteger("blockZ", z); + itemStackData.setTag("blockX", coords); + itemStackData.setTag("blockY", coords); + itemStackData.setTag("blockZ", coords); + } + + /** + * @param item + * @param x + * @param y + * @param z + * @param dim + * @param name + */ + public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + coords.setInteger("dimension", dim); + coords.setString("dimName", name); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + itemStackData.setTag("dimension", coords); + itemStackData.setTag("dimName", coords); + } + + /** + * @param item + */ + public static void addFakeEnchantment(ItemStack item) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.setTag("ench", new NBTTagList()); + } + + /** + * @param item + * @param color + */ + public static void addIngotColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("ingotColor", color); + itemStackData.setTag("ingotColor", colors); + } + + // TODO + /** + * @param item + * @param color + */ + public static void addGemColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("gemColor", color); + itemStackData.setTag("gemColor", colors); + } + + /** + * @param item + * @param list + */ + @SuppressWarnings ("rawtypes") + public static void addEntities(ItemStack item, List list) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + for(int i = 0; i < list.size(); i++) + ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT); + itemStackData.setTag("entities", entityNBT); + } + + // TODO NBT Tag Removing + /** + * @param item + * @param tag + */ + public static void removeNBT(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.removeTag(tag); + } + + /** + * @param item + */ + public static void removeEntity(ItemStack item) + { + JewelryNBT.removeNBT(item, "entityID"); + JewelryNBT.removeNBT(item, "entity"); + JewelryNBT.removeNBT(item, "ench"); + } + + /** + * @param item + */ + public static void removeBlock(ItemStack item) + { + JewelryNBT.removeNBT(item, "blockID"); + JewelryNBT.removeNBT(item, "metadata"); + JewelryNBT.removeNBT(item, "tile"); + JewelryNBT.removeNBT(item, "blockX"); + JewelryNBT.removeNBT(item, "blockY"); + JewelryNBT.removeNBT(item, "blockZ"); + } + + // TODO NTB Tag Checking + /** + * @param item + * @param tag + * @return + */ + public static boolean hasTag(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + if (itemStackData.hasKey(tag)) return true; + return false; + } + + /** + * @param stack + * @param gem + * @return + */ + public static boolean isGemX(ItemStack stack, ItemStack gem) + { + if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param modifier + * @return + */ + public static boolean doesModifierExist(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true; + } + return false; + } + + public static int modifierSize(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize; + } + return -1; + } + + public static int numberOfModifiers(ItemStack stack) + { + if (modifier(stack) != null) return modifier(stack).size(); + return -1; + } + + /** + * @param stack + * @param ingot + * @return + */ + public static boolean isIngotX(ItemStack stack, ItemStack ingot) + { + if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param player + * @param entity + * @return + */ + public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity) + { + if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true; + return false; + } + + /** + * @param stack + * @param dimName + * @return + */ + public static boolean isDimNameX(ItemStack stack, String dimName) + { + if (ingot(stack) != null && dimName(stack).equals(dimName)) return true; + return false; + } + + /** + * @param stack + * @param dimension + * @return + */ + public static boolean isDimensionX(ItemStack stack, int dimension) + { + if (dimension(stack) != -2 && dimension(stack) == dimension) return true; + return false; + } + + // TODO Return components based on NBT + public static ItemStack item(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){ + NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target"); + ItemStack target = new ItemStack(Item.getItemById(0), 0, 0); + target.readFromNBT(itemNBT); + return target; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack gem(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){ + NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem"); + ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0); + gem.readFromNBT(jewelNBT); + return gem; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ArrayList<ItemStack> modifier(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){ + int size = stack.getTagCompound().getInteger("modifierSize"); + ArrayList<ItemStack> list = new ArrayList<ItemStack>(); + for(int i = 0; i < size; i++){ + ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0); + NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i); + modifier.readFromNBT(modifierNBT); + list.add(modifier); + } + return list; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack ingot(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){ + NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot"); + ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0); + ingot.readFromNBT(ingotNBT); + return ingot; + } + return null; + } + + /** + * @param stack + * @param player + * @return + */ + public static EntityLivingBase entity(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID"); + NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity"); + int entityID = 0; + entityID = enID.getInteger("entityID"); + EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj); + if (entity != null && entity instanceof EntityLivingBase){ + entity.readFromNBT(en); + return entity; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static TileEntity tileEntity(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){ + NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile"); + TileEntity tile = TileEntity.createAndLoadEntity(tileNBT); + if (tile != null && tile instanceof TileEntity){ + tile.readFromNBT(tileNBT); + return tile; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String dimName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName"); + String name = dim.getString("dimName"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String modeName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode"); + String name = dim.getString("mode"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static int dimension(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension"); + int dimension = dim.getInteger("dimension"); + return dimension; + } + return -2; + } + + /** + * @param stack + * @return + */ + public static int blockCoordX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX"); + int posX = x.getInteger("blockX"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY"); + int posY = y.getInteger("blockY"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ"); + int posZ = z.getInteger("blockZ"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockID(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){ + NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID"); + int blockId = blockID.getInteger("blockID"); + return blockId; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockMetadata(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){ + NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata"); + int metadata = metadataNBT.getInteger("metadata"); + return metadata; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x"); + double posX = x.getDouble("x"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y"); + double posY = y.getDouble("y"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z"); + double posZ = z.getDouble("z"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int ingotColor(ItemStack stack) + { + System.out.println(stack.getTagCompound()); + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){ + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor"); + int color = colors.getInteger("ingotColor"); + return color; + } + return 16777215; + } + + // TODO + /** + * @param stack + * @return + */ + public static int gemColor(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){ + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor"); + int color = colors.getInteger("gemColor"); + return color; + } + return 16777215; + } + + /** + * @param stack + * @param player + * @return + */ + @SuppressWarnings ({"rawtypes", "unchecked", "null"}) + public static List entities(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID"); + List list = null; + int[] entityID; + EntityLivingBase entity; + entityID = enID.getIntArray("entitiesID"); + for(int element: entityID){ + entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj); + list.add(entity); + } + return list; + } + return null; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/f00e0e670fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/f00e0e670fe60014127dc373d78c1666 deleted file mode 100644 index bd6bc0f..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e6/f00e0e670fe60014127dc373d78c1666 +++ /dev/null @@ -1,579 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(-0.3F, 0.3F, 0.6F); - GL11.glRotatef(75f, 0f, 1f, 0f); - GL11.glRotatef(15f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e7/c04057b047e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e7/c04057b047e700141e05cdbaeb682437 new file mode 100644 index 0000000..e705fa6 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e7/c04057b047e700141e05cdbaeb682437 @@ -0,0 +1,128 @@ +package darkknight.jewelrycraft.events; + +import java.util.Iterator; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import darkknight.jewelrycraft.curses.CurseList; +import darkknight.jewelrycraft.entities.renders.RenderHelper; +import darkknight.jewelrycraft.item.render.BraceletRender; +import darkknight.jewelrycraft.item.render.EarringsRender; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +public class PlayerRenderHandler +{ + MaskRender mask = new MaskRender(); + EarringsRender earrings = new EarringsRender(); + BraceletRender bracelet = new BraceletRender(); +// public static String[] infamyCache = new String[]{}; + public static NBTTagCompound playersInfo = new NBTTagCompound(); + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + ModelBiped main = event.renderer.modelBipedMain; + Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator(); + if (playersInfo != null){ + while (players.hasNext()){ + EntityPlayer player = players.next(); + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){ + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(1.6f, 1.6f, 1.6f); + GL11.glTranslatef(-0.25F, -0.25F, -0.25F); + mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F); + GL11.glPopMatrix(); + } + if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17"); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick; + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick; + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glRotatef(yawOffset, 0, -1, 0); + GL11.glRotatef(yaw - 90, 0, 1, 0); + GL11.glRotatef(pitch, 0, 0, -1); + GL11.glRotatef(90F, 0, 1F, 0F); + RenderHelper.translateToHeadLevel(player); + GL11.glScalef(0.07f, 0.07f, 0.07f); + GL11.glTranslatef(0.0F, 3.0F, -2.0F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + earrings.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + GL11.glPopMatrix(); + } + for(int i = 10; i <= 13; i++) + if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glTranslatef((i / 12 == 1) ? -0.275F : 0.475F, 0.2F + ((i / 12 == 1) ? (i - 12) * 0.08F : (i - 10) * 0.08F), 0F); + if (player.isSneaking()) GL11.glTranslatef(0F, 0F, -((i == 10 || i == 12) ? (0.1F) : 0.05F)); + if (i / 12 == 1){ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedRightArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedRightArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0.0F); + }else{ + GL11.glScalef(0.05f, 0.03f, 0.05f); + GL11.glRotatef(main.bipedLeftArm.rotateAngleX * (180F / (float)Math.PI), 1F, 0F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleY * (180F / (float)Math.PI), 0F, 1F, 0F); + GL11.glRotatef(main.bipedLeftArm.rotateAngleZ * (180F / (float)Math.PI), 0F, 0F, 1F); + int gemColor = -1; + int ingotColor = -1; + if (JewelryNBT.gem(item) != null) gemColor = JewelryNBT.gemColor(item); + if (JewelryNBT.ingot(item) != null) ingotColor = JewelryNBT.ingotColor(item); + System.out.println(item); + bracelet.doRender(event.entityPlayer, 0F, 0F, (float)ingotColor, (float)gemColor, 0F); + } + GL11.glPopMatrix(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string); + if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true; +// for(int i = 0; i < infamyCache.length; i++) +// if (infamyCache[i].equals(string)) return true; + return false; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/604048aa00e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d04590e96fe70014115de2bb951f0adf index c55e71b..7ad25c4 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/30/604048aa00e50014174fe663e69b8422 +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d04590e96fe70014115de2bb951f0adf @@ -4,15 +4,17 @@ package darkknight.jewelrycraft.item; import java.util.List; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.JewelryNBT; +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.JewelryNBT; public class ItemGoldObj extends Item { @@ -25,6 +27,12 @@ public class ItemGoldObj extends Item } @SideOnly (Side.CLIENT) + public boolean hasEffect(ItemStack item) + { + return true; + } + + @SideOnly (Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { return 0xffff00; @@ -33,21 +41,20 @@ public class ItemGoldObj extends Item @Override public IIcon getIcon(ItemStack stack, int pass) { - if (JewelryNBT.item(stack) != null && pass >= 0) return JewelryNBT.item(stack).getIconIndex(); + ItemStack item = JewelryNBT.item(stack); + if (item != null) return item.getIconIndex(); return itemIcon; } public String getItemStackDisplayName(ItemStack stack) { - return "Golden " + JewelryNBT.item(stack).getDisplayName(); + return "Golden " + ((stack != null && JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object"); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) { - if (displayInfo){ - ItemStack item = JewelryNBT.item(stack); - if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName()); - list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now"); - } + if (displayInfo) + if(JewelryNBT.item(stack).getItem() instanceof ItemFood) list.add(EnumChatFormatting.DARK_PURPLE + "It's made of solid gold. How are you suppose to eat this?"); + else list.add(EnumChatFormatting.DARK_PURPLE + "Shiny, but useless :("); } } diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d071e74bd1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d071e74bd1e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..43515c5 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/e8/d071e74bd1e6001411c8f2d2b3d65935 @@ -0,0 +1,29 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops){ + EntityItem entityitem = item; + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + player.worldObj.spawnEntityInWorld(entityitem); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/eb/e06464f935e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/eb/e06464f935e100141e1cc3c3be242e56 deleted file mode 100644 index 98564f1..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/eb/e06464f935e100141e1cc3c3be242e56 +++ /dev/null @@ -1,63 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int ingotCoolingTime; - public static int ingotMeltingTime; - public static int jewelryCraftingTime; - public static boolean generateVillageNetherstar; - public static boolean canFurnacesGenerateIngots; - public static int maxVillageJewelers; - public static int jewelerWeight; - public static int ingotChestMin; - public static int ingotChestMax; - public static int ingotChestMaxStack; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - ingotCoolingTime = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - ingotMeltingTime = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - jewelryCraftingTime = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - generateVillageNetherstar = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - canFurnacesGenerateIngots = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - maxVillageJewelers = config.get(categories[1], "Maximum Jewelers", maxVillageJewelers, "Sets how many jewelers can be in a village.").getInt(1); - jewelerWeight = config.get(categories[1], "Jewelers Weight", jewelerWeight, "Chance of getting a jeweler in a village. The higher the value, the higher the chance.").getInt(30); - ingotChestMin = config.get(categories[1], "Ingot Chest Min", ingotChestMin, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(1); - ingotChestMax = config.get(categories[1], "Ingot Chest Max", ingotChestMax, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)").getInt(4); - ingotChestMaxStack = config.get(categories[1], "Ingot Chest Max Stack", ingotChestMaxStack, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest.").getInt(2); - jewelsChestMin = config.get(categories[1], "Jewelers Chest Min", jewelsChestMin, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(2); - jewelsChestMax = config.get(categories[1], "Jewelers Chest Max", jewelsChestMax, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler.").getInt(5); - furnacesIngotStackMin = config.get(categories[1], "Ingot Furnace Min", furnacesIngotStackMin, "Determines the minimum number of ingots that can generate in a furnace.").getInt(2); - furnacesIngotStackMax = config.get(categories[1], "Ingot Furnace Max", furnacesIngotStackMax, "Determines the maximum number of ingots that can generate in a furnace.").getInt(5); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/70befd8570e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/70befd8570e70014115de2bb951f0adf new file mode 100644 index 0000000..8938e9d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/70befd8570e70014115de2bb951f0adf @@ -0,0 +1,586 @@ +package darkknight.jewelrycraft.item.render; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockHopper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.renderer.tileentity.*; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.*; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.*; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null){ + if (render != null && entity != null && JewelryNBT.item(item) == null){ + if (type == IItemRenderer.ItemRenderType.ENTITY){ + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else if (JewelryNBT.item(item) != null){ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + try{ + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + }catch(Exception e){ + System.out.println(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4)); + } + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null){ + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null){ + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null){ + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)){ + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)){ + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()){ + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + GL11.glTranslatef(17F, 0.0F, 0.0F); + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + boolean flag = block == Blocks.grass; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 1){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); + renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); + tessellator.draw(); + }else if (j == 19){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 23){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + block.setBlockBoundsForItemRender(); + tessellator.draw(); + }else if (j == 13){ + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 22){ + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }else if (j == 6){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); + tessellator.draw(); + }else if (j == 2){ + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); + tessellator.draw(); + }else if (j == 10){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 27){ + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0){ + b0 = 2; + } + if (l == 1){ + b0 = 3; + } + if (l == 2){ + b0 = 4; + } + if (l == 3){ + b0 = 5; + b1 = 2; + } + if (l == 4){ + b0 = 6; + b1 = 3; + } + if (l == 5){ + b0 = 7; + b1 = 5; + } + if (l == 6){ + b0 = 6; + b1 = 2; + } + if (l == 7){ + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 11){ + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 21){ + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2){ + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else if (j == 32){ + for(k = 0; k < 2; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1){ + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else if (j == 35){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else if (j == 34){ + for(k = 0; k < 3; ++k){ + if (k == 0){ + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else if (k == 1){ + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else if (k == 2){ + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + }else if (j == 38){ + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + }else{ + if (j == 16){ + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/90c6538936e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/90c6538936e100141e1cc3c3be242e56 deleted file mode 100644 index 00d62f0..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ec/90c6538936e100141e1cc3c3be242e56 +++ /dev/null @@ -1,260 +0,0 @@ -package darkknight.jewelrycraft.block; - -import java.io.IOException; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -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.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMoltenMetalBucket; -import darkknight.jewelrycraft.network.PacketSendLiquidData; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; - -public class BlockSmelter extends BlockContainer -{ - Random rand = new Random(); - - public BlockSmelter() - { - super(Material.rock); - } - - @Override - public TileEntity createNewTileEntity(World world, int var2) - { - return new TileEntitySmelter(); - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * Spawns an item in the world at the specified location - * - * @param world - * @param x - * @param y - * @param z - * @param stack - */ - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.3D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - entityitem.delayBeforeCanPickup = 0; - world.spawnEntityInWorld(entityitem); - } - - @Override - public void breakBlock(World world, int i, int j, int k, Block par5, int par6) - { - TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k); - if (te != null){ - if (te.hasMetal) dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy()); - if (te.hasMoltenMetal && te.moltenMetal != null && Item.getIdFromItem(te.moltenMetal.getItem()) > 0){ - ItemStack metal = te.moltenMetal; - ItemStack item = te.moltenMetal; - if (Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) metal.setItemDamage(15 - metal.getItemDamage()); - int color = 16777215; - JewelryNBT.addMetal(item, metal); - try{ - color = ItemMoltenMetalBucket.color(item, 1); - System.out.println(color); - } - catch(IOException e){ - e.printStackTrace(); - } - JewelrycraftMod.saveData.setString(i + " " + j + " " + k + " " + world.provider.dimensionId, Item.getIdFromItem(metal.getItem()) + ":" + metal.getItemDamage() + ":" + color); - JewelrycraftMod.netWrapper.sendToAll(new PacketSendLiquidData(world.provider.dimensionId, i, j, k, Item.getIdFromItem(metal.getItem()), metal.getItemDamage(), color)); - world.setBlock(i, j, k, BlockList.moltenMetal, 0, 3); - int quant = (int)(te.quantity * 10); - if (quant == 1) world.setBlockMetadataWithNotify(i, j, k, 4, 3); - if (quant == 2) world.setBlockMetadataWithNotify(i, j, k, 4, 3); - if (quant == 3) world.setBlockMetadataWithNotify(i, j, k, 3, 3); - if (quant == 4) world.setBlockMetadataWithNotify(i, j, k, 3, 3); - if (quant == 5) world.setBlockMetadataWithNotify(i, j, k, 2, 3); - if (quant == 6) world.setBlockMetadataWithNotify(i, j, k, 2, 3); - if (quant == 7) world.setBlockMetadataWithNotify(i, j, k, 1, 3); - if (quant == 8) world.setBlockMetadataWithNotify(i, j, k, 1, 3); - if (quant == 9) world.setBlockMetadataWithNotify(i, j, k, 0, 3); - } - world.removeTileEntity(i, j, k); - } - super.breakBlock(world, i, j, k, par5, par6); - } - - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) - { - TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k); - ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null && te.hasMoltenMetal && te.quantity >= 0.9f && !te.pouring && item != null && item.getItem() == Items.bucket){ - te.quantity = 0f; - te.hasMoltenMetal = false; - ItemStack metalBucket = new ItemStack(ItemList.bucket, 1); - ItemStack ingot = te.moltenMetal.copy(); - if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage()); - JewelryNBT.addMetal(metalBucket, ingot); - --item.stackSize; - entityPlayer.inventory.addItemStackToInventory(metalBucket); - te.isDirty = true; - return true; - } - if (te != null && !world.isRemote){ - if (te.hasMetal && entityPlayer.isSneaking()){ - dropItem(world, te.xCoord, te.yCoord, te.zCoord, te.metal.copy()); - te.hasMetal = false; - te.melting = -1; - te.isDirty = true; - } - if (item != null && item.getItem() != null && !(item.getItem() instanceof ItemMoltenMetalBucket)){ - int index = -1; - for(int a = 0; a < JewelrycraftUtil.jamcraftPlayers.size(); a++) - if (entityPlayer.getUniqueID().toString().equals(JewelrycraftUtil.jamcraftPlayers.get(a))) index = a; - if(entityPlayer.capabilities.isCreativeMode) index = 1; - boolean canPlace = item != null && (JewelrycraftUtil.isMetal(item) || JewelrycraftUtil.isOre(item) || index >= 0); - boolean isOre = false, oreCoincidesWithMetal = false, itemCoincidesWithMetal = false, itemCoincidesWithMoltenMetal = false, overflow = false; - isOre = JewelrycraftUtil.isOre(item); - if (te.metal != null && te.metal.getItem() != null) itemCoincidesWithMetal = item.getItem().equals(te.metal.getItem()) && item.getItemDamage() == te.metal.getItemDamage(); - if (te.moltenMetal != null && te.moltenMetal.getItem() != null){ - itemCoincidesWithMoltenMetal = item.getItem().equals(te.moltenMetal.getItem()) && item.getItemDamage() == te.moltenMetal.getItemDamage(); - if (isOre) oreCoincidesWithMetal = te.moltenMetal.getItem().equals(JewelrycraftUtil.getIngotFromOre(item.getItem()).getItem()) && te.moltenMetal.getItemDamage() == JewelrycraftUtil.getIngotFromOre(item.getItem()).getItemDamage(); - } - overflow = isOre ? te.metal.stackSize * 0.2f + te.quantity < 0.8f : te.metal.stackSize * 0.1f + te.quantity < 0.9f; - boolean isValid = te.hasMoltenMetal ? itemCoincidesWithMoltenMetal : true; - if (te.quantity < 0.9f && !te.pouring && canPlace && isValid){ - boolean check = isOre ? oreCoincidesWithMetal && te.quantity < 0.8f : itemCoincidesWithMoltenMetal; - boolean check2 = isOre ? oreCoincidesWithMetal : itemCoincidesWithMetal; - if (!te.hasMetal && !te.hasMoltenMetal || !te.hasMetal && te.hasMoltenMetal && check){ - entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.nowsmeltingingot", item.getDisplayName()))); - te.metal = item.copy(); - // if (Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(te.metal.getItem()) == Block.getIdFromBlock(Blocks.carpet)) te.metal.setItemDamage(15 - te.metal.getItemDamage()); - te.metal.stackSize = 1; - te.hasMetal = true; - te.melting = ConfigHandler.INGOT_MELTING_TIME; - if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize; - te.isDirty = true; - }else if (te.hasMetal && te.hasMoltenMetal && check2 && overflow || te.hasMetal && !te.hasMoltenMetal && itemCoincidesWithMetal && overflow){ - entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("Smelting extra " + (isOre ? "ores" : "ingots") + " (" + (te.metal.stackSize + 1) + ")"))); - te.metal.stackSize++; - te.hasMetal = true; - te.melting += ConfigHandler.INGOT_MELTING_TIME; - if (!entityPlayer.capabilities.isCreativeMode) --item.stackSize; - te.isDirty = true; - } - te.isDirty = true; - }else if (item != null && (te.hasMetal || te.hasMoltenMetal) && !itemCoincidesWithMoltenMetal && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Item does not match contents!"))); - else if (item != null && !item.getUnlocalizedName().toLowerCase().contains("ingot") && te.quantity < 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.itemrenamedtoingot"))); - else if (item != null && te.quantity >= 0.9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("Smelter is at full capacity."))); - }else if (item != null && item.getItem() != null && item.getItem() instanceof ItemMoltenMetalBucket && !te.hasMoltenMetal && !te.hasMetal){ - te.hasMoltenMetal = true; - ItemStack ingot = JewelryNBT.ingot(item); - if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage()); - te.moltenMetal = ingot; - te.quantity = 0.9f; - te.isDirty = true; - if (!entityPlayer.capabilities.isCreativeMode){ - --item.stackSize; - dropItem(world, entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ, new ItemStack(Items.bucket)); - } - }else if (item == null && te.hasMoltenMetal && te.moltenMetal.getItem() != null) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.hasmolteningot", te.moltenMetal.getDisplayName()))); - world.setTileEntity(i, j, k, te); - } - return true; - } - - @Override - public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) - { - TileEntitySmelter te = (TileEntitySmelter)world.getTileEntity(i, j, k); - TileEntityMolder me = null; - if (world.getBlockMetadata(i, j, k) == 0 && world.getTileEntity(i, j, k - 1) != null && world.getTileEntity(i, j, k - 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k - 1); - else if (world.getBlockMetadata(i, j, k) == 1 && world.getTileEntity(i + 1, j, k) != null && world.getTileEntity(i + 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i + 1, j, k); - else if (world.getBlockMetadata(i, j, k) == 2 && world.getTileEntity(i, j, k + 1) != null && world.getTileEntity(i, j, k + 1) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i, j, k + 1); - else if (world.getBlockMetadata(i, j, k) == 3 && world.getTileEntity(i - 1, j, k) != null && world.getTileEntity(i - 1, j, k) instanceof TileEntityMolder) me = (TileEntityMolder)world.getTileEntity(i - 1, j, k); - if (te != null && me != null && !world.isRemote) if (te.hasMoltenMetal && isConnectedToMolder(world, i, j, k) && me != null && me.hasMold && !me.hasMoltenMetal && !me.hasJewelBase){ - te.pouring = true; - te.isDirty = true; - }else if (te.hasMetal && te.melting > 0) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.metalismelting", te.metal.getDisplayName()) + " (" + (ConfigHandler.INGOT_MELTING_TIME * te.metal.stackSize - te.melting) * 100 / (ConfigHandler.ingotMeltingTime * te.metal.stackSize) + "%)")); - else if (te.hasMoltenMetal && !isConnectedToMolder(world, i, j, k)) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderismissing"))); - else if (!me.hasMold && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasnomold"))); - else if (me.hasMoltenMetal && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.molderhasmoltenmetal"))); - else if (me.hasJewelBase && te.hasMoltenMetal) player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.modlerhasitem"))); - else player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.empty"))); - } - - /** - * Determines if a molder is placed in front of this - * - * @param world - * @param i - * @param j - * @param k - * @return true if a molder is attached, false otherwise - */ - public boolean isConnectedToMolder(World world, int i, int j, int k) - { - int blockMeta = world.getBlockMetadata(i, j, k); - if (blockMeta == 0 && world.getBlock(i, j, k - 1) instanceof BlockMolder) return true; - else if (blockMeta == 1 && world.getBlock(i + 1, j, k) instanceof BlockMolder) return true; - else if (blockMeta == 2 && world.getBlock(i, j, k + 1) instanceof BlockMolder) return true; - else if (blockMeta == 3 && world.getBlock(i - 1, j, k) instanceof BlockMolder) return true; - return false; - } - - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) - { - int rotation = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - world.setBlockMetadataWithNotify(i, j, k, rotation, 2); - } - - @Override - public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) - { - return false; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public void registerBlockIcons(IIconRegister icon) - { - blockIcon = icon.registerIcon(Variables.MODID + ":smelter"); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f3/10a123f8d3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f3/10a123f8d3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..f859742 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f3/10a123f8d3e6001411c8f2d2b3d65935 @@ -0,0 +1,30 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops.size()); + for(EntityItem item: drops){ + ItemStack drop = item.getEntityItem().copy(); + drop.stackSize = this.rand.nextInt(4); + if(drop.stackSize > 0) target.entityDropItem(drop, 0.5F); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f4/6091fe4bd3e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f4/6091fe4bd3e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..0fb3040 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f4/6091fe4bd3e6001411c8f2d2b3d65935 @@ -0,0 +1,36 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + System.out.println(drops); + World world = player.getEntityWorld(); + for(EntityItem item: drops){ + EntityItem entityitem = new EntityItem(world, target.posX + 0.5D, target.posY + 0.5D, target.posZ + 0.5D, item.getEntityItem().copy()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.2D; +// world.spawnEntityInWorld(entityitem); + target.entityDropItem(item.getEntityItem().copy(), 0.5F); +// target.dropItem(item.getEntityItem().getItem(), 1); + System.out.println("Drop " + item.getEntityItem()); + } + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f5/602433bf74e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f5/602433bf74e70014115de2bb951f0adf new file mode 100644 index 0000000..2943ec9 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f5/602433bf74e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 1F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2015b91c37e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2015b91c37e100141e1cc3c3be242e56 deleted file mode 100644 index 6def0a2..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2015b91c37e100141e1cc3c3be242e56 +++ /dev/null @@ -1,62 +0,0 @@ -package darkknight.jewelrycraft.config; - -import java.io.File; -import net.minecraftforge.common.config.Configuration; -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import darkknight.jewelrycraft.util.Variables; - -public class ConfigHandler -{ - public static Configuration config; - public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; - - public static int INGOT_COOLING_TIME; - public static int INGOT_MELTING_TIME; - public static int GEM_PLACEMENT_TIME; - public static boolean GENERATE_VILLAGE_NETHERSTAR; - public static boolean CAN_FURNACE_GENERATE_INGOTS; - public static int MAX_VILLAGE_JEWELERS; - public static int JEWELER_WEIGHT; - public static int INGOT_CHEST_MIN; - public static int INGOT_CHEST_MAX; - public static int INGOT_CHEST_MAX_STACK; - public static int jewelsChestMin; - public static int jewelsChestMax; - public static int furnacesIngotStackMin; - public static int furnacesIngotStackMax; - - public void loadConfig(FMLPreInitializationEvent event) - { - config = new Configuration(event.getSuggestedConfigurationFile()); - config.load(); - syncConfigs(); - } - - private void syncConfigs() - { - INGOT_COOLING_TIME = config.getInt("Molder Ingot Cooling Time", categories[0], 100, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before the mold is cooled."); - INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); - GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); - GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); - CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); - MAX_VILLAGE_JEWELERS = config.getInt("Maximum Jewelers", categories[1], 1, 0, Integer.MAX_VALUE, "Sets how many jewelers can be in a village."); - JEWELER_WEIGHT = config.getInt("Jewelers Weight", categories[1], 30, 0, Integer.MAX_VALUE, "Chance of getting a jeweler in a village. The higher the value, the higher the chance."); - INGOT_CHEST_MIN = config.getInt("Ingot Chest Min", categories[1], 1, 0, Integer.MAX_VALUE, "Minimum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX = config.getInt("Ingot Chest Max", categories[1], 4, 0, Integer.MAX_VALUE, "Maximum number of ingots that can be found in a chest from the Jeweler. (It's the chest from the back part)"); - INGOT_CHEST_MAX_STACK = config.getInt("Ingot Chest Max Stack", categories[1], 2, 0, Integer.MAX_VALUE, "Maximum number of the stack the ingots can be. For example: if set to 2 and ingots have a chance of generating, you have a chance of getting a stack of max 2 ingots in a chest."); - jewelsChestMin = config.getInt("Jewelers Chest Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - jewelsChestMax = config.getInt("Jewelers Chest Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum nuber of jewels/modifiers that can be generated in the front chests of a Jeweler."); - furnacesIngotStackMin = config.getInt("Ingot Furnace Min", categories[1], 2, 0, Integer.MAX_VALUE, "Determines the minimum number of ingots that can generate in a furnace."); - furnacesIngotStackMax = config.getInt("Ingot Furnace Max", categories[1], 5, 0, Integer.MAX_VALUE, "Determines the maximum number of ingots that can generate in a furnace."); - if (config.hasChanged()) config.save(); - } - - @SubscribeEvent - public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.modID.equals(Variables.MODID)) syncConfigs(); - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/100285e848e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/100285e848e700141e05cdbaeb682437 new file mode 100644 index 0000000..295a776 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/100285e848e700141e05cdbaeb682437 @@ -0,0 +1,770 @@ +package darkknight.jewelrycraft.util; + +import java.util.ArrayList; +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class JewelryNBT +{ + // TODO NBT Tag Adding + public static void addItem(ItemStack item, ItemStack target) + { + if (target != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound targetNBT = new NBTTagCompound(); + target.writeToNBT(targetNBT); + itemStackData.setTag("target", targetNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param metal The metal you want to add on the item + */ + public static void addMetal(ItemStack item, ItemStack metal) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound ingotNBT = new NBTTagCompound(); + metal.writeToNBT(ingotNBT); + itemStackData.setTag("ingot", ingotNBT); + } + + /** + * @param item The item you want to add the NBT data on + * @param gem The gem you want to add on the item + */ + public static void addGem(ItemStack item, ItemStack gem) + { + if (gem != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound gemNBT = new NBTTagCompound(); + gem.writeToNBT(gemNBT); + itemStackData.setTag("gem", gemNBT); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param modifier The modifier you want to add on the item + */ + public static void addModifiers(ItemStack item, ArrayList<ItemStack> modifier) + { + if (modifier != null){ + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + for(int i = 0; i < modifier.size(); i++){ + NBTTagCompound modifierNBT = new NBTTagCompound(); + modifier.get(i).writeToNBT(modifierNBT); + itemStackData.setTag("modifier" + i, modifierNBT); + } + itemStackData.setInteger("modifierSize", modifier.size()); + } + } + + /** + * @param item The item you want to add the NBT data on + * @param entity The entity to add on the item + */ + public static void addEntity(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + entity.writeToNBT(entityNBT); + itemStackData.setTag("entity", entityNBT); + } + + /** + * @param item + * @param entity + */ + public static void addEntityID(ItemStack item, EntityLivingBase entity) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + int id = EntityList.getEntityID(entity); + entityNBT.setInteger("entityID", id); + itemStackData.setTag("entityID", entityNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addCoordonates(ItemStack item, double x, double y, double z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + } + + /** + * @param item + * @param world + * @param x + * @param y + * @param z + */ + public static void addTileEntityBlock(ItemStack item, World world, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound tileNBT = new NBTTagCompound(); + NBTTagCompound block = new NBTTagCompound(); + world.getTileEntity(x, y, z).writeToNBT(tileNBT); + itemStackData.setTag("tile", tileNBT); + block.setInteger("blockID", Block.getIdFromBlock(world.getBlock(x, y, z))); + block.setInteger("metadata", world.getBlockMetadata(x, y, z)); + block.setInteger("blockX", x); + block.setInteger("blockY", y); + block.setInteger("blockZ", z); + itemStackData.setTag("metadata", block); + itemStackData.setTag("blockID", block); + itemStackData.setTag("blockX", block); + itemStackData.setTag("blockY", block); + itemStackData.setTag("blockZ", block); + } + + /** + * @param item + * @param block + * @param metadata + */ + public static void addBlock(ItemStack item, int block, int metadata) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound blockNBT = new NBTTagCompound(); + blockNBT.setInteger("blockID", block); + itemStackData.setTag("blockID", blockNBT); + blockNBT.setInteger("metadata", metadata); + itemStackData.setTag("metadata", blockNBT); + } + + /** + * @param item + * @param x + * @param y + * @param z + */ + public static void addBlockCoordonates(ItemStack item, int x, int y, int z) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setInteger("blockX", x); + coords.setInteger("blockY", y); + coords.setInteger("blockZ", z); + itemStackData.setTag("blockX", coords); + itemStackData.setTag("blockY", coords); + itemStackData.setTag("blockZ", coords); + } + + /** + * @param item + * @param x + * @param y + * @param z + * @param dim + * @param name + */ + public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound coords = new NBTTagCompound(); + coords.setDouble("x", x); + coords.setDouble("y", y); + coords.setDouble("z", z); + coords.setInteger("dimension", dim); + coords.setString("dimName", name); + itemStackData.setTag("x", coords); + itemStackData.setTag("y", coords); + itemStackData.setTag("z", coords); + itemStackData.setTag("dimension", coords); + itemStackData.setTag("dimName", coords); + } + + /** + * @param item + */ + public static void addFakeEnchantment(ItemStack item) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.setTag("ench", new NBTTagList()); + } + + /** + * @param item + * @param color + */ + public static void addIngotColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("ingotColor", color); + itemStackData.setTag("ingotColor", colors); + } + + // TODO + /** + * @param item + * @param color + */ + public static void addGemColor(ItemStack item, int color) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound colors = new NBTTagCompound(); + colors.setInteger("gemColor", color); + itemStackData.setTag("gemColor", colors); + } + + /** + * @param item + * @param list + */ + @SuppressWarnings ("rawtypes") + public static void addEntities(ItemStack item, List list) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + NBTTagCompound entityNBT = new NBTTagCompound(); + for(int i = 0; i < list.size(); i++) + ((EntityLivingBase)list.get(i)).writeToNBT(entityNBT); + itemStackData.setTag("entities", entityNBT); + } + + // TODO NBT Tag Removing + /** + * @param item + * @param tag + */ + public static void removeNBT(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + itemStackData.removeTag(tag); + } + + /** + * @param item + */ + public static void removeEntity(ItemStack item) + { + JewelryNBT.removeNBT(item, "entityID"); + JewelryNBT.removeNBT(item, "entity"); + JewelryNBT.removeNBT(item, "ench"); + } + + /** + * @param item + */ + public static void removeBlock(ItemStack item) + { + JewelryNBT.removeNBT(item, "blockID"); + JewelryNBT.removeNBT(item, "metadata"); + JewelryNBT.removeNBT(item, "tile"); + JewelryNBT.removeNBT(item, "blockX"); + JewelryNBT.removeNBT(item, "blockY"); + JewelryNBT.removeNBT(item, "blockZ"); + } + + // TODO NTB Tag Checking + /** + * @param item + * @param tag + * @return + */ + public static boolean hasTag(ItemStack item, String tag) + { + NBTTagCompound itemStackData; + if (item.hasTagCompound()) itemStackData = item.getTagCompound(); + else{ + itemStackData = new NBTTagCompound(); + item.setTagCompound(itemStackData); + } + if (itemStackData.hasKey(tag)) return true; + return false; + } + + /** + * @param stack + * @param gem + * @return + */ + public static boolean isGemX(ItemStack stack, ItemStack gem) + { + if (gem(stack) != null && gem(stack).getItem() == gem.getItem() && gem(stack).getItemDamage() == gem.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param modifier + * @return + */ + public static boolean doesModifierExist(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return true; + } + return false; + } + + public static int modifierSize(ItemStack stack, ItemStack modifier) + { + if (modifier(stack) != null){ + ArrayList<ItemStack> list = modifier(stack); + for(int i = 0; i < list.size(); i++) + if (list.get(i).getItem() == modifier.getItem() && list.get(i).getItemDamage() == modifier.getItemDamage()) return list.get(i).stackSize; + } + return -1; + } + + public static int numberOfModifiers(ItemStack stack) + { + if (modifier(stack) != null) return modifier(stack).size(); + return -1; + } + + /** + * @param stack + * @param ingot + * @return + */ + public static boolean isIngotX(ItemStack stack, ItemStack ingot) + { + if (ingot(stack) != null && ingot(stack).getItem() == ingot.getItem() && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true; + return false; + } + + /** + * @param stack + * @param player + * @param entity + * @return + */ + public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity) + { + if (entity != null && entity instanceof EntityLivingBase && entity(stack, player) != null && entity(stack, player).equals(entity)) return true; + return false; + } + + /** + * @param stack + * @param dimName + * @return + */ + public static boolean isDimNameX(ItemStack stack, String dimName) + { + if (ingot(stack) != null && dimName(stack).equals(dimName)) return true; + return false; + } + + /** + * @param stack + * @param dimension + * @return + */ + public static boolean isDimensionX(ItemStack stack, int dimension) + { + if (dimension(stack) != -2 && dimension(stack) == dimension) return true; + return false; + } + + // TODO Return components based on NBT + public static ItemStack item(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("target")){ + NBTTagCompound itemNBT = (NBTTagCompound)stack.getTagCompound().getTag("target"); + ItemStack target = new ItemStack(Item.getItemById(0), 0, 0); + target.readFromNBT(itemNBT); + return target; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack gem(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gem")){ + NBTTagCompound jewelNBT = (NBTTagCompound)stack.getTagCompound().getTag("gem"); + ItemStack gem = new ItemStack(Item.getItemById(0), 0, 0); + gem.readFromNBT(jewelNBT); + return gem; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ArrayList<ItemStack> modifier(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound()){ + int size = stack.getTagCompound().getInteger("modifierSize"); + ArrayList<ItemStack> list = new ArrayList<ItemStack>(); + for(int i = 0; i < size; i++){ + ItemStack modifier = new ItemStack(Item.getItemById(0), 0, 0); + NBTTagCompound modifierNBT = (NBTTagCompound)stack.getTagCompound().getTag("modifier" + i); + modifier.readFromNBT(modifierNBT); + list.add(modifier); + } + return list; + } + return null; + } + + /** + * @param stack + * @return + */ + public static ItemStack ingot(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot")){ + NBTTagCompound ingotNBT = (NBTTagCompound)stack.getTagCompound().getTag("ingot"); + ItemStack ingot = new ItemStack(Item.getItemById(0), 0, 0); + ingot.readFromNBT(ingotNBT); + return ingot; + } + return null; + } + + /** + * @param stack + * @param player + * @return + */ + public static EntityLivingBase entity(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entityID"); + NBTTagCompound en = (NBTTagCompound)stack.getTagCompound().getTag("entity"); + int entityID = 0; + entityID = enID.getInteger("entityID"); + EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, player.worldObj); + if (entity != null && entity instanceof EntityLivingBase){ + entity.readFromNBT(en); + return entity; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static TileEntity tileEntity(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("tile")){ + NBTTagCompound tileNBT = (NBTTagCompound)stack.getTagCompound().getTag("tile"); + TileEntity tile = TileEntity.createAndLoadEntity(tileNBT); + if (tile != null && tile instanceof TileEntity){ + tile.readFromNBT(tileNBT); + return tile; + }else return null; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String dimName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimName"); + String name = dim.getString("dimName"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static String modeName(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("mode")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("mode"); + String name = dim.getString("mode"); + return name; + } + return null; + } + + /** + * @param stack + * @return + */ + public static int dimension(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension")){ + NBTTagCompound dim = (NBTTagCompound)stack.getTagCompound().getTag("dimension"); + int dimension = dim.getInteger("dimension"); + return dimension; + } + return -2; + } + + /** + * @param stack + * @return + */ + public static int blockCoordX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockX")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("blockX"); + int posX = x.getInteger("blockX"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockY")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("blockY"); + int posY = y.getInteger("blockY"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockCoordZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockZ")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("blockZ"); + int posZ = z.getInteger("blockZ"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockID(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("blockID")){ + NBTTagCompound blockID = (NBTTagCompound)stack.getTagCompound().getTag("blockID"); + int blockId = blockID.getInteger("blockID"); + return blockId; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int blockMetadata(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("metadata")){ + NBTTagCompound metadataNBT = (NBTTagCompound)stack.getTagCompound().getTag("metadata"); + int metadata = metadataNBT.getInteger("metadata"); + return metadata; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosX(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("x")){ + NBTTagCompound x = (NBTTagCompound)stack.getTagCompound().getTag("x"); + double posX = x.getDouble("x"); + return posX; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosY(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("y")){ + NBTTagCompound y = (NBTTagCompound)stack.getTagCompound().getTag("y"); + double posY = y.getDouble("y"); + return posY; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static double playerPosZ(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("z")){ + NBTTagCompound z = (NBTTagCompound)stack.getTagCompound().getTag("z"); + double posZ = z.getDouble("z"); + return posZ; + } + return -1; + } + + /** + * @param stack + * @return + */ + public static int ingotColor(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingotColor")){ + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("ingotColor"); + int color = colors.getInteger("ingotColor"); + return color; + } + return 16777215; + } + + // TODO + /** + * @param stack + * @return + */ + public static int gemColor(ItemStack stack) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("gemColor")){ + NBTTagCompound colors = (NBTTagCompound)stack.getTagCompound().getTag("gemColor"); + int color = colors.getInteger("gemColor"); + return color; + } + return 16777215; + } + + /** + * @param stack + * @param player + * @return + */ + @SuppressWarnings ({"rawtypes", "unchecked", "null"}) + public static List entities(ItemStack stack, EntityPlayer player) + { + if (stack != null && stack != new ItemStack(Item.getItemById(0), 0, 0) && stack.getTagCompound().hasKey("entities")){ + NBTTagCompound enID = (NBTTagCompound)stack.getTagCompound().getTag("entitiesID"); + List list = null; + int[] entityID; + EntityLivingBase entity; + entityID = enID.getIntArray("entitiesID"); + for(int element: entityID){ + entity = (EntityLivingBase)EntityList.createEntityByID(element, player.worldObj); + list.add(entity); + } + return list; + } + return null; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0f14ef06be70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0f14ef06be70014115de2bb951f0adf new file mode 100644 index 0000000..0854f18 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/f9/e0f14ef06be70014115de2bb951f0adf @@ -0,0 +1,38 @@ +package darkknight.jewelrycraft.curses; + +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import darkknight.jewelrycraft.util.Variables; + +public class CurseList +{ + public static Curse rotten; + public static Curse flaming; + public static Curse blind; + public static Curse greed; + public static Curse infamy; + public static Curse midasTouch; + public static Curse rabbitsPaw; + public static Curse pentagram; + public static Curse vampireHunger; + public static Curse humbleBundle; + public static Curse deathsTouch; + public static Curse antichrist; + public static Curse moneyEqualsPower; + + public static void preInit(FMLPreInitializationEvent e) + { + rotten = new CurseRottenHeart(0, Variables.MODNAME + ":" + "Rotten Heart", 0); + flaming = new CurseFlamingSoul(1, Variables.MODNAME + ":" + "Flaming Soul", 0); + greed = new CurseGreed(2, Variables.MODNAME + ":" + "Greed", 0); + blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0); + infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0); + midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0); + rabbitsPaw = new CurseRabbitsPaw(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0); +// pentagram = new CurseMidasTouch(7, Variables.MODNAME + ":" + "Pentagram", 0); +// vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0); +// humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0); +// deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0); +// antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0); +// moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d0e1309dd0e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d0e1309dd0e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..7d7cea4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d0e1309dd0e6001411c8f2d2b3d65935 @@ -0,0 +1,469 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + System.out.println(event.specialDropValue); + if (event.source.getEntity() != null){ + System.out.println(event.entity.worldObj.isRemote); + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e061e169cde6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e061e169cde6001411c8f2d2b3d65935 new file mode 100644 index 0000000..3f54aa4 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fb/e061e169cde6001411c8f2d2b3d65935 @@ -0,0 +1,468 @@ +package darkknight.jewelrycraft.events; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; +import net.minecraftforge.client.event.EntityViewRenderEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.item.ItemTossEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.WorldEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.curses.Curse; +import darkknight.jewelrycraft.damage.DamageSourceList; +import darkknight.jewelrycraft.entities.EntityHalfHeart; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.item.ItemBaseJewelry; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.network.PacketClearColorCache; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.network.PacketSendCurseStats; +import darkknight.jewelrycraft.util.BlockUtils; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * Code taken from OpenBlocks + */ +public class EntityEventHandler +{ + /** + * @param event + */ + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) + { + if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP)event.entity); + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + final Entity entity = event.entity; + if (!event.world.isRemote && entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); + if (shouldGiveManual){ + ItemStack manual = new ItemStack(ItemList.guide); + if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); + persistTag.setBoolean("givenGuide", true); + } + boolean render = persistTag.getBoolean("fancyRender"); + JewelrycraftMod.fancyRender = render; + for(Curse curse: Curse.getCurseList()) + if (!persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); + persistTag.setBoolean("sendInfo", true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) + { + Entity entity = event.entity; + if (entity.getEntityData().getBoolean("stunned") && entity.getEntityData().getInteger("stunTime") > 0){ + entity.motionX *= 0D; + entity.motionZ *= 0D; + entity.motionY *= 0D; + entity.rotationPitch = entity.prevRotationPitch; + entity.rotationYaw = entity.prevRotationYaw; + entity.getEntityData().setInteger("stunTime", entity.getEntityData().getInteger("stunTime") - 1); + if (entity.getEntityData().getInteger("stunTime") == 0) entity.getEntityData().setBoolean("stunned", false); + entity.worldObj.spawnParticle("spell", entity.posX, entity.posY + entity.height, entity.posZ, 0.0D, 0.3D, 0.0D); + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); + if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){ + player.motionX *= 0D; + player.motionZ *= 0D; + player.motionY *= 0D; + player.rotationPitch = entity.prevRotationPitch; + player.rotationYaw = entity.prevRotationYaw; + playerInfo.setInteger("stunTime", playerInfo.getInteger("stunTime") - 1); + if (playerInfo.getInteger("stunTime") == 0) playerInfo.setBoolean("stunned", false); + player.worldObj.spawnParticle("spell", entity.posX, entity.posY + 0.5F, entity.posZ, 0.0D, 0.3D, 0.0D); + } + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player); + } + if (!player.worldObj.isRemote){ + if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); + if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); + } + if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); + if (playerInfo.getBoolean("sendInfo")){ + JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats()); + playerInfo.setBoolean("sendInfo", false); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) + { + System.out.println(event.drops); + if (event.source.getEntity() != null){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) + { + Entity entity = event.entityLiving; + if (entity instanceof EntityPlayer && !(event.source.getEntity() instanceof EntityPlayer)){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (event.source.getEntity() != null && event.source.getEntity().getEntityData().getBoolean("stunned")) event.setCanceled(true); + if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onPlayerAttackedCacellable(item, player, event.source, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("negateDamage")){ + playerInfo.setBoolean("negateDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onPlayerAttacked(item, player, event.source, event.ammount); + } + if (player.getHealth() != player.prevHealth){ + if (playerInfo.getFloat("WhiteHeart") > 0){ + playerInfo.setFloat("WhiteHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + if (playerInfo.getFloat("BlueHeart") > 0){ + float damage = playerInfo.getFloat("BlueHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlueHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlueHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + }else if (playerInfo.getFloat("BlackHeart") > 0){ + AxisAlignedBB axisalignedbb = player.boundingBox.expand(2.0D, 0.0D, 2.0D); + List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb); + if (enemies != null && !enemies.isEmpty()){ + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()){ + Entity enemy = (Entity)iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + } + } + float damage = playerInfo.getFloat("BlackHeart") - event.ammount; + if (damage >= 0){ + playerInfo.setFloat("BlackHeart", damage); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(event.ammount); + }else{ + playerInfo.setFloat("BlackHeart", 0f); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + player.heal(Math.abs(damage)); + } + } + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); + }else if (event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + for(int i = 0; i < 18; i++) + if (playerInfo.hasKey("ext" + i)){ + NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + if (((ItemBaseJewelry)item.getItem()).onEntityAttackedCacellable(item, player, entity, event.ammount)){ + event.setCanceled(true); + break; + } + if (playerInfo.getBoolean("weakDamage")){ + playerInfo.setBoolean("weakDamage", false); + event.setCanceled(true); + break; + } + ((ItemBaseJewelry)item.getItem()).onEntityAttacked(item, player, entity, event.ammount); + } + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) + { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")){ + int points = playerInfo.getInteger("cursePoints"); + for(int i = 1; i <= Variables.MAX_CURSES; i++) + if (points > (i - 1) * 1750) addCurse(player, playerInfo, i); + if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")){ + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setBoolean("sendInfo", true); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param player + * @param playerInfo + * @param curse + */ + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseNo) + { + if (Curse.availableCurses.size() > 0 && curseNo > Curse.getCurseList().size() - Curse.availableCurses.size()){ + int no = JewelrycraftUtil.rand.nextInt(Curse.availableCurses.size()); + Curse cur = Curse.availableCurses.get(no); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + public static void addCurse(EntityPlayer player, NBTTagCompound playerInfo, int curseID, int grade) + { + Curse cur = Curse.getCurseList().get(curseID); + if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){ + playerInfo.setInteger(cur.getName(), grade); + Curse.availableCurses.remove(cur); + playerInfo.setBoolean("sendInfo", true); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) + { + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()){ + EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj.spawnEntityInWorld(entityitem); + List players = MinecraftServer.getServer().getConfigurationManager().playerEntityList; + Iterator plrs = players.iterator(); + while (plrs.hasNext()) + ((EntityPlayerMP)plrs.next()).addChatComponentMessage(new ChatComponentText("<" + event.player.getDisplayName() + "> This is MY item! MINE! I will NEVER give it to you! Mine! Mine! MINE!")); + event.setCanceled(true); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) + { + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) + { + final Entity entity = event.entity; + Random rand = new Random(); + String[] types = {"Red", "Blue", "White", "Black"}; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ + EntityLiving live = (EntityLiving)entity; + String type = types[rand.nextInt(4)]; + if (rand.nextInt(6) == 0){ + if (type == "White"){ + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + }else{ + for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 20)); i++){ + EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + if (entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){ + for(Curse l: Curse.getCurseList()){ + if (playerInfo.getInteger(l.getName()) == 1){ + playerInfo.setInteger(l.getName(), 0); + if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); + }else if (playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + playerInfo.setBoolean("sendInfo", true); + for(Curse curse: Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player); + } + if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) + { + if (!event.world.isRemote){ + new File(JewelrycraftMod.dir + File.separator + Variables.MODID).mkdirs(); + JewelrycraftMod.liquidsConf = new File(JewelrycraftMod.dir + File.separator + Variables.MODID, "JLP" + event.world.getWorldInfo().getWorldName() + ".cfg"); + try{ + if (!JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.liquidsConf.createNewFile(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) JewelrycraftMod.saveData = CompressedStreamTools.readCompressed(new FileInputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) + { + if (FMLCommonHandler.instance().getEffectiveSide().isServer()) try{ + if (JewelrycraftMod.liquidsConf.exists()) CompressedStreamTools.writeCompressed(JewelrycraftMod.saveData, new FileOutputStream(JewelrycraftMod.liquidsConf)); + } + catch(EOFException e){ + e.printStackTrace(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogColors(EntityViewRenderEvent.FogColors event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + event.red = 0f; + event.green = 0f; + event.blue = 0f; + } + } + if (event.isCancelable()) event.setCanceled(true); + } + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void fogDensity(EntityViewRenderEvent.FogDensity event) + {} + + /** + * @param event + */ + @SubscribeEvent + @SideOnly (Side.CLIENT) + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) + { + if (event.entity instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.entity; + NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (persistTag.getBoolean("nearStartedRitual")){ + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); + } + } + if (event.isCancelable()) event.setCanceled(true); + } +}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/005b783701e50014174fe663e69b8422 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/005b783701e50014174fe663e69b8422 deleted file mode 100644 index c28968c..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/005b783701e50014174fe663e69b8422 +++ /dev/null @@ -1,55 +0,0 @@ -/** - * - */ -package darkknight.jewelrycraft.item; - -import java.util.List; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemGoldObj extends Item -{ - public ItemGoldObj() - {} - - public boolean requiresMultipleRenderPasses() - { - return true; - } - - @SideOnly (Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) - { - return 0xffff00; - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (JewelryNBT.item(stack) != null){ - ItemStack item = JewelryNBT.item(stack); - return item.getItem().getIconIndex(JewelryNBT.item(stack)); - } - else return itemIcon; - } - - public String getItemStackDisplayName(ItemStack stack) - { - return "Golden " + JewelryNBT.item(stack).getDisplayName(); - } - - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo) - { - if (displayInfo){ - ItemStack item = JewelryNBT.item(stack); - if (item != null) list.add("Item: " + EnumChatFormatting.BLUE + item.getDisplayName()); - list.add(EnumChatFormatting.DARK_PURPLE + "Well this is useless now"); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/303da9d874e70014115de2bb951f0adf b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/303da9d874e70014115de2bb951f0adf new file mode 100644 index 0000000..2efe23d --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/303da9d874e70014115de2bb951f0adf @@ -0,0 +1,63 @@ +package darkknight.jewelrycraft.curses; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.item.render.MaskRender; +import darkknight.jewelrycraft.util.Variables; + +public class CursePentagram extends Curse +{ + ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png"); + public CursePentagram(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) + { + } + + public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + { + GL11.glPushMatrix(); + GL11.glColor4f(1, 1, 1, 1); + Tessellator tessellator = Tessellator.instance; + TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); + texturemanager.bindTexture(curse); + GL11.glScalef(0.1F, 0.1F, 0.1F); + GL11.glTranslatef(1F, 15F, 1F); + GL11.glRotatef(90F, 1F, 0F, 0F); + float f = 0.00390625F; + float f1 = 0.00390625F; + int x = 0; + int y = 0; + int u = 0; + int v = 0; + int width = 32; + int height = 32; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1)); + tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1)); + tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1)); + tessellator.draw(); + GL11.glPopMatrix(); + } + + public String getDescription() + { + return "The Dark Lord has misterious ways of showing you his love."; + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/c0878917d1e6001411c8f2d2b3d65935 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/c0878917d1e6001411c8f2d2b3d65935 new file mode 100644 index 0000000..6de6c3e --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fc/c0878917d1e6001411c8f2d2b3d65935 @@ -0,0 +1,24 @@ +/** + * + */ +package darkknight.jewelrycraft.curses; + +import java.util.ArrayList; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; + +public class CurseRabbitsPaw extends Curse +{ + public CurseRabbitsPaw(int id, String name, int text) + { + super(id, name, text); + } + + @Override + public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops) + { + for(EntityItem item: drops) + target.entityDropItem(item.getEntityItem(), 0.5F); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/30d8384237e100141e1cc3c3be242e56 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/30d8384237e100141e1cc3c3be242e56 deleted file mode 100644 index 8ecf8aa..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/30d8384237e100141e1cc3c3be242e56 +++ /dev/null @@ -1,454 +0,0 @@ -package darkknight.jewelrycraft.worldGen.village; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureVillagePieces; -import net.minecraft.world.gen.structure.StructureVillagePieces.Start; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.item.ItemList; -import darkknight.jewelrycraft.item.ItemMolds; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.tileentity.TileEntityMolder; -import darkknight.jewelrycraft.tileentity.TileEntitySmelter; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; - -public class ComponentJewelry extends StructureVillagePieces.House1 -{ - private int averageGroundLevel = -1; - - /** - * - */ - public ComponentJewelry() - {} - - /** - * @param par1ComponentVillageStartPiece - * @param par2 - * @param par3Random - * @param par4StructureBoundingBox - * @param par5 - */ - public ComponentJewelry(Start par1ComponentVillageStartPiece, int par2, Random par3Random, StructureBoundingBox par4StructureBoundingBox, int par5) - { - super(); - coordBaseMode = par5; - boundingBox = par4StructureBoundingBox; - } - - /** - * @param villagePiece - * @param pieces - * @param random - * @param p1 - * @param p2 - * @param p3 - * @param p4 - * @param p5 - * @return - */ - @SuppressWarnings ("rawtypes") - public static ComponentJewelry buildComponent(Start villagePiece, List pieces, Random random, int p1, int p2, int p3, int p4, int p5) - { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p1, p2, p3, 0, 0, 0, 11, 5, 12, p4); - return canVillageGoDeeper(structureboundingbox) && StructureComponent.findIntersecting(pieces, structureboundingbox) == null ? new ComponentJewelry(villagePiece, p5, random, structureboundingbox, p4) : null; - } - - /** - * second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at the end, it adds Fences... - * - * @param world - * @param random - * @param sbb - * @return - */ - @Override - public boolean addComponentParts(World world, Random random, StructureBoundingBox sbb) - { - if (averageGroundLevel < 0){ - averageGroundLevel = getAverageGroundLevel(world, sbb); - if (averageGroundLevel < 0) return true; - boundingBox.offset(0, averageGroundLevel - boundingBox.maxY + 3, 0); - } - /** - * arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace) - */ - fillWithBlocks(world, sbb, 0, 0, 6, 10, 5, 11, Block.getBlockById(0), Block.getBlockById(0), false); - fillWithBlocks(world, sbb, 2, 0, 0, 8, 5, 5, Block.getBlockById(0), Block.getBlockById(0), false); - // Pillars - fillWithBlocks(world, sbb, 2, 0, 0, 2, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 2, 0, 3, 2, 3, 3, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 0, 8, 3, 0, Blocks.log, Blocks.log, false); - fillWithBlocks(world, sbb, 8, 0, 3, 8, 3, 3, Blocks.log, Blocks.log, false); - // Walls - fillWithBlocks(world, sbb, 2, 0, 1, 2, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 2, 0, 4, 2, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 1, 8, 3, 2, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 8, 0, 4, 8, 3, 5, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 3, 0, 0, 7, 3, 0, Blocks.planks, Blocks.planks, false); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 3, 6, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 11, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 0, 0, 6, 0, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - fillWithBlocks(world, sbb, 10, 0, 6, 10, 3, 11, Blocks.cobblestone, Blocks.cobblestone, false); - // Roof - for(int i = 3; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 2, i, 4, j, sbb); - for(int i = 3; i <= 7; i++) - for(int j = 6; j <= 6; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 0, i, 4, j, sbb); - for(int i = 1; i <= 9; i++) - for(int j = 7; j <= 10; j++) - placeBlockAtCurrentPosition(world, Blocks.stone_slab, 3, i, 4, j, sbb); - for(int i = 2; i <= 8; i++) - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, i, 4, 0, sbb); - for(int i = 1; i <= 5; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 2, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_wooden_slab, 2, 8, 4, i, sbb); - } - for(int i = 0; i <= 2; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 6, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i + 8, 4, 6, sbb); - } - for(int i = 7; i <= 11; i++){ - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 0, 4, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 10, 4, i, sbb); - } - for(int i = 0; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, i, 4, 11, sbb); - // Base - for(int i = 2; i <= 8; i++) - for(int j = 0; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.planks, 1, i, 0, j, sbb); - fillWithBlocks(world, sbb, 0, 0, 6, 10, 0, 11, Blocks.stonebrick, Blocks.stonebrick, false); - for(int i = 6; i <= 10; i++) - placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 5, 0, i, sbb); - for(int i = 7; i <= 10; i++){ - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 1, 0, i, sbb); - placeBlockAtCurrentPosition(world, Blocks.stonebrick, 3, 9, 0, i, sbb); - } - // Decorations - placeDoorAtCurrentPosition(world, sbb, random, 6, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeDoorAtCurrentPosition(world, sbb, random, 5, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 3, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 4, 2, 0, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 2, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 2, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 4, sbb); - placeBlockAtCurrentPosition(world, Blocks.glass_pane, 0, 8, 2, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 6, 3, 1, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 3, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 7, 3, 3, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 5, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 7, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 5, 3, 10, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 1, 3, 9, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 8, sbb); - placeBlockAtCurrentPosition(world, Blocks.torch, 0, 9, 3, 9, sbb); - int bgCarpetColor = random.nextInt(16); - for(int i = 4; i <= 7; i++) - for(int j = 1; j <= 5; j++) - placeBlockAtCurrentPosition(world, Blocks.carpet, bgCarpetColor, i, 1, j, sbb); - generateChest(world, 3, 1, 1, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX); - generateDisplayer(world, 3, 1, 2, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - placeBlockAtCurrentPosition(world, BlockList.jewelCraftingTable, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, 3, 1, 3, sbb); - generateDisplayer(world, 3, 1, 4, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb); - generateChest(world, 3, 1, 5, 0, random, sbb, ConfigHandler.GEM_CHEST_MIN, ConfigHandler.GEM_CHEST_MAX); - generateFurnace(world, 1, 1, 7, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 7, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 7, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 1, 10, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 2, 10, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateFurnace(world, 1, 3, 10, 0, random, sbb, ConfigHandler.FURNACE_MIN_INGOT_STACK, ConfigHandler.furnacesIngotStackMax, ConfigHandler.CAN_FURNACE_GENERATE_INGOTS); - generateSmelter(world, 1, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateSmelter(world, 1, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean()); - generateMolder(world, 2, 1, 8, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - generateMolder(world, 2, 1, 9, coordBaseMode == 0 || coordBaseMode == 2 ? 1 : 2, random, sbb, random.nextBoolean(), random.nextBoolean()); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 7, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 8, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 9, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - if (random.nextBoolean()) generateIngotChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - else generateOresChest(world, 9, 1, 10, 0, random, sbb, ConfigHandler.INGOT_CHEST_MIN, ConfigHandler.INGOT_CHEST_MAX, Blocks.trapped_chest, ConfigHandler.INGOT_CHEST_MAX_STACK); - for(int l = 0; l < 6; ++l) - for(int i1 = 2; i1 < 9; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - for(int l = 6; l < 12; ++l) - for(int i1 = 0; i1 < 11; ++i1){ - clearCurrentPositionBlocksUpwards(world, i1, 9, l, sbb); - func_151554_b(world, Blocks.cobblestone, 0, i1, -1, l, sbb); - } - spawnVillagers(world, sbb, 3, 1, 3, 1); - return true; - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - */ - public void generateChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, Blocks.chest, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); - if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateIngotChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ingot Chest"); - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), metal); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param chestB - * @param randomAmount - */ - public void generateOresChest(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, Block chestB, int randomAmount) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - int t = random.nextInt(max - min + 1) + min; - placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); - TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); - while (chest != null && t > 0){ - chest.func_145976_a("Ores Chest"); - int oreID = random.nextInt(JewelrycraftUtil.ores.size()); - ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); - ores.stackSize = 2 + random.nextInt(randomAmount); - if (random.nextBoolean()) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), ores); - t--; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - */ - public void generateDisplayer(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.displayer, metadata, i, j, k, sbb); - TileEntityDisplayer displayer = (TileEntityDisplayer)world.getTileEntity(i1, j1, k1); - if (displayer != null){ - Item[] jewels = {ItemList.ring, ItemList.necklace}; - ItemStack jewel = new ItemStack(jewels[random.nextInt(jewels.length)]); - JewelryNBT.addMetal(jewel, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()))); - JewelryNBT.addModifiers(jewel, JewelrycraftUtil.addRandomModifiers(random.nextInt(4))); - JewelryNBT.addGem(jewel, JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size()))); - displayer.object = jewel; - displayer.quantity = 1; - displayer.hasObject = true; - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param isEmpty - */ - public void generateSmelter(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean isEmpty) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.smelter, metadata, i, j, k, sbb); - TileEntitySmelter smelter = (TileEntitySmelter)world.getTileEntity(i1, j1, k1); - if (smelter != null && !isEmpty){ - int metal = random.nextInt(JewelrycraftUtil.metal.size()); - smelter.moltenMetal = JewelrycraftUtil.metal.get(metal).copy(); - smelter.hasMoltenMetal = true; - int quantity = random.nextInt(9); - switch(quantity) - { - case 0: - smelter.quantity = 0.1f; - case 1: - smelter.quantity = 0.2f; - case 2: - smelter.quantity = 0.3f; - case 3: - smelter.quantity = 0.4f; - case 4: - smelter.quantity = 0.5f; - case 5: - smelter.quantity = 0.6f; - case 6: - smelter.quantity = 0.7f; - case 7: - smelter.quantity = 0.8f; - case 8: - smelter.quantity = 0.9f; - default: - smelter.quantity = 0.1f; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param hasMold - * @param hasStuff - */ - public void generateMolder(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, boolean hasMold, boolean hasStuff) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, BlockList.molder, metadata, i, j, k, sbb); - TileEntityMolder molder = (TileEntityMolder)world.getTileEntity(i1, j1, k1); - if (molder != null && !molder.hasMold) if (hasMold){ - int meta = random.nextInt(ItemMolds.moldsItemNames.length); - molder.mold = new ItemStack(ItemList.molds, 1, meta); - molder.hasMold = true; - if (hasStuff){ - ItemStack ring = new ItemStack(ItemList.ring); - JewelryNBT.addMetal(ring, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack necklace = new ItemStack(ItemList.necklace); - JewelryNBT.addMetal(necklace, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack bracelet = new ItemStack(ItemList.bracelet); - JewelryNBT.addMetal(bracelet, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - ItemStack earrings = new ItemStack(ItemList.earrings); - JewelryNBT.addMetal(earrings, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())).copy()); - if (meta == 0) molder.jewelBase = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())); - else if (meta == 1) molder.jewelBase = ring; - else if (meta == 2) molder.jewelBase = necklace; - else if (meta == 3) molder.jewelBase = bracelet; - else if (meta == 4) molder.jewelBase = earrings; - molder.hasJewelBase = true; - } - } - } - - /** - * @param world - * @param i - * @param j - * @param k - * @param metadata - * @param random - * @param sbb - * @param min - * @param max - * @param hasMetal - */ - public void generateFurnace(World world, int i, int j, int k, int metadata, Random random, StructureBoundingBox sbb, int min, int max, boolean hasMetal) - { - int i1 = getXWithOffset(i, k); - int j1 = getYWithOffset(j); - int k1 = getZWithOffset(i, k); - placeBlockAtCurrentPosition(world, Blocks.furnace, metadata, i, j, k, sbb); - TileEntityFurnace furnace = (TileEntityFurnace)world.getTileEntity(i1, j1, k1); - if (furnace != null){ - if (random.nextBoolean()) furnace.setInventorySlotContents(1, new ItemStack(Items.coal, 1 + random.nextInt(16))); - if (hasMetal){ - int metalID = random.nextInt(JewelrycraftUtil.metal.size()); - ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); - metal.stackSize = random.nextInt(max - min + 1) + min; - furnace.setInventorySlotContents(2, metal); - } - } - } - - /** - * Returns the villager type to spawn in this component, based on the number of villagers already spawned. - * - * @param par1 - * @return - */ - @Override - protected int getVillagerType(int par1) - { - return 3000; - } -}
\ No newline at end of file diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/603945450fe60014127dc373d78c1666 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/603945450fe60014127dc373d78c1666 deleted file mode 100644 index 61a221a..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/fe/603945450fe60014127dc373d78c1666 +++ /dev/null @@ -1,578 +0,0 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemTool; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - } - else{ - GL11.glTranslatef(0.3F, 0.3F, 0.3F); - GL11.glRotatef(60f, 0f, 1f, 0f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - GL11.glTranslatef(17F, 0.0F, 0.0F); - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 1){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); - renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); - tessellator.draw(); - }else if (j == 19){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 23){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - block.setBlockBoundsForItemRender(); - tessellator.draw(); - }else if (j == 13){ - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 22){ - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - }else if (j == 6){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); - tessellator.draw(); - }else if (j == 2){ - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); - tessellator.draw(); - }else if (j == 10){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - }else if (j == 38){ - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } -} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ff/400f547d48e700141e05cdbaeb682437 b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ff/400f547d48e700141e05cdbaeb682437 new file mode 100644 index 0000000..155d17c --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/ff/400f547d48e700141e05cdbaeb682437 @@ -0,0 +1,78 @@ +/** + * + */ +package darkknight.jewelrycraft.network; + +import io.netty.buffer.ByteBuf; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import cpw.mods.fml.common.network.ByteBufUtils; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import darkknight.jewelrycraft.events.PlayerRenderHandler; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; + +/** + * @author Sorin + * + */ +public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage> +{ + public PacketSendCurseStats() + { + + } + + /** + * @param message + * @param ctx + * @return + */ + @Override + public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx) + { + return null; + } + + /** + * @param buf + */ + @Override + public void fromBytes(ByteBuf buf) + { + NBTTagCompound temp = ByteBufUtils.readTag(buf); +// if (temp != "") +// PlayerRenderHandler.infamyCache = temp.split(";"); +// else +// PlayerRenderHandler.infamyCache = new String[] { }; + if (temp != null) + PlayerRenderHandler.playersInfo = temp; + else + PlayerRenderHandler.playersInfo = new NBTTagCompound(); + } + + /** + * @param buf + */ + @Override + public void toBytes(ByteBuf buf) + { + Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator(); + String infamyPlayers = ""; + NBTTagCompound nbt = new NBTTagCompound(); + while (players.hasNext()) + { + EntityPlayer current = players.next(); + nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); + System.out.println(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID)); +// if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0) +// infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName(); + } +// ByteBufUtils.writeUTF8String(buf, infamyPlayers); + ByteBufUtils.writeTag(buf, nbt); + } +} diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index Binary files differindex 9f5fdf0..bf2c649 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/6a/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index Binary files differindex 11ecbef..48569fa 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/13/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index Binary files differindex f533f50..38c474c 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/29/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/29/history.index Binary files differnew file mode 100644 index 0000000..728c0fd --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/29/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2e/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2e/history.index Binary files differnew file mode 100644 index 0000000..985133f --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/2e/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/5e/ac/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/5e/ac/history.index Binary files differdeleted file mode 100644 index d8318de..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/5e/ac/history.index +++ /dev/null diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index Binary files differindex ae7d2d3..000689c 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/8d/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/be/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/be/history.index Binary files differdeleted file mode 100644 index 0d91224..0000000 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/be/history.index +++ /dev/null diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index Binary files differindex 5fb7806..d4653cf 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/df/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index Binary files differindex 7888105..eb2d439 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/e7/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index Binary files differindex 65a6207..4428198 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/ef/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index Binary files differindex 3e3fe94..3605671 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.indexes/e4/b9/22/7d/96/history.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers Binary files differindex d817830..1e6142a 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.markers 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 Binary files differindex ae1f231..f8b6680 100644 --- 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 diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/61.tree b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/66.tree Binary files differindex 11c91fb..b823a83 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/61.tree +++ b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/66.tree 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 Binary files differindex e6a3868..8c181f8 100644 --- 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 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 index a471080..7463c40 100644 --- 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 @@ -1,6 +1,6 @@ command=C\:\\Program Files\\Java\\jdk1.7.0_71\\bin\\javadoc.exe content_assist_disabled_computers=org.eclipse.jdt.ui.textProposalCategory\u0000org.eclipse.recommenders.calls.rcp.proposalCategory.templates\u0000org.eclipse.mylyn.java.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000org.eclipse.recommenders.chain.rcp.proposalCategory.chain\u0000 -content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"><lhs name\="net.minecraft.util.DamageSource"><rhs name\="net.minecraft.util.DamageSource"/></lhs><lhs name\="net.minecraft.potion.PotionEffect"><rhs name\="net.minecraft.potion.PotionEffect"/></lhs><lhs name\="net.minecraft.profiler.IPlayerUsage"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="net.minecraft.client.Minecraft"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="cpw.mods.fml.common.network.simpleimpl.IMessage"><rhs name\="darkknight.jewelrycraft.network.PacketKeyPressEvent"/><rhs name\="darkknight.jewelrycraft.network.PacketSendPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketSendCurseStats"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestSetSlot"/></lhs><lhs name\="java.lang.Enum"><rhs name\="net.minecraftforge.client.event.RenderGameOverlayEvent$ElementType"/><rhs name\="cpw.mods.fml.common.eventhandler.Event$Result"/><rhs name\="net.minecraft.client.settings.GameSettings$Options"/></lhs><lhs name\="net.minecraft.client.settings.GameSettings$Options"><rhs name\="net.minecraft.client.settings.GameSettings$Options"/></lhs><lhs name\="net.minecraft.inventory.Container"><rhs name\="darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier"/></lhs><lhs name\="net.minecraft.nbt.NBTBase"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.nbt.NBTTagCompound"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.block.material.Material"><rhs name\="net.minecraft.block.material.Material"/></lhs></history> +content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"><lhs name\="net.minecraft.util.DamageSource"><rhs name\="net.minecraft.util.DamageSource"/></lhs><lhs name\="net.minecraft.potion.PotionEffect"><rhs name\="net.minecraft.potion.PotionEffect"/></lhs><lhs name\="net.minecraft.profiler.IPlayerUsage"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="net.minecraft.client.Minecraft"><rhs name\="net.minecraft.client.Minecraft"/></lhs><lhs name\="cpw.mods.fml.common.network.simpleimpl.IMessage"><rhs name\="darkknight.jewelrycraft.network.PacketKeyPressEvent"/><rhs name\="darkknight.jewelrycraft.network.PacketSendPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestPlayerInfo"/><rhs name\="darkknight.jewelrycraft.network.PacketSendCurseStats"/><rhs name\="darkknight.jewelrycraft.network.PacketRequestSetSlot"/></lhs><lhs name\="java.lang.Enum"><rhs name\="net.minecraftforge.client.event.RenderGameOverlayEvent$ElementType"/><rhs name\="cpw.mods.fml.common.eventhandler.Event$Result"/><rhs name\="net.minecraft.client.settings.GameSettings$Options"/><rhs name\="cpw.mods.fml.relauncher.Side"/><rhs name\="cpw.mods.fml.common.gameevent.TickEvent$Phase"/></lhs><lhs name\="net.minecraft.client.settings.GameSettings$Options"><rhs name\="net.minecraft.client.settings.GameSettings$Options"/></lhs><lhs name\="net.minecraft.inventory.Container"><rhs name\="darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier"/></lhs><lhs name\="net.minecraft.nbt.NBTBase"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.nbt.NBTTagCompound"><rhs name\="net.minecraft.nbt.NBTTagCompound"/></lhs><lhs name\="net.minecraft.block.material.Material"><rhs name\="net.minecraft.block.material.Material"/></lhs></history> content_assist_number_of_computers=19 content_assist_proposals_background=255,255,255 content_assist_proposals_foreground=0,0,0 diff --git a/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index 65fdafa..cf8ee5a 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/eclipse/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,6 +1,6 @@ <?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="_Z50IkM9SEeSV1Mx9A3xekQ" elementId="org.eclipse.e4.legacy.ide.application" contributorURI="platform:/plugin/org.eclipse.ui.workbench" selectedElement="_Z50Ikc9SEeSV1Mx9A3xekQ" bindingContexts="_Z51X0s9SEeSV1Mx9A3xekQ"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<workbench>
<mruList>
<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="RenderManager.class" tooltip="net.minecraft.client.renderer.entity.RenderManager">
<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.client.renderer.entity(RenderManager.class"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GuiGuide.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GuiTabGemsAndIngots.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GuiTab.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ItemRender.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="AbstractTab.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="InventoryTabVanilla.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/InventoryTabVanilla.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/InventoryTabVanilla.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="TabRegistry.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GuiJewelry.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java"/>
</file>
<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="GuiScreen.class" tooltip="net.minecraft.client.gui.GuiScreen">
<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.client.gui(GuiScreen.class"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="InventoryTabVanilla.java" tooltip="Minecraft/dependencies/main/java/tconstruct/client/tabs/InventoryTabVanilla.java">
<persistable path="/Minecraft/dependencies/main/java/tconstruct/client/tabs/InventoryTabVanilla.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="AbstractTab.java" tooltip="Minecraft/dependencies/main/java/tconstruct/client/tabs/AbstractTab.java">
<persistable path="/Minecraft/dependencies/main/java/tconstruct/client/tabs/AbstractTab.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="TabJewelry.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/TabJewelry.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ClientProxy.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CommonProxy.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/proxy/CommonProxy.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/CommonProxy.java"/>
</file>
</mruList>
</workbench>"/> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<workbench>
<mruList>
<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="ItemRenderer.class" tooltip="net.minecraft.client.renderer.ItemRenderer">
<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.client.renderer(ItemRenderer.class"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ClientProxy.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java"/>
</file>
<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="Gui.class" tooltip="net.minecraft.client.gui.Gui">
<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.client.gui(Gui.class"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ScreenHandler.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java"/>
</file>
<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="NBTBase.class" tooltip="net.minecraft.nbt.NBTBase">
<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.nbt(NBTBase.class"/>
</file>
<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="NBTTagCompound.class" tooltip="net.minecraft.nbt.NBTTagCompound">
<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.nbt(NBTTagCompound.class"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ItemGoldObj.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="JewelryNBT.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/util/JewelryNBT.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ItemRender.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java"/>
</file>
<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="BlockAir.class" tooltip="net.minecraft.block.BlockAir">
<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.block(BlockAir.class"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CursePentagram.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CurseInfamy.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="JewelrycraftMod.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="PacketKeyPressEvent.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketKeyPressEvent.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="KeyBindings.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java">
<persistable path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java"/>
</file>
</mruList>
</workbench>"/> <tags>activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration</tags> <tags>ModelMigrationProcessor.001</tags> <children xsi:type="basic:TrimmedWindow" xmi:id="_Z50Ikc9SEeSV1Mx9A3xekQ" elementId="IDEWindow" contributorURI="platform:/plugin/org.eclipse.ui.workbench" selectedElement="_Z50Iks9SEeSV1Mx9A3xekQ" x="0" y="0" width="697" height="735"> @@ -209,7 +209,7 @@ </children> </children> <children xsi:type="basic:PartSashContainer" xmi:id="_Z50Iu89SEeSV1Mx9A3xekQ" containerData="8255" selectedElement="_Z50IvM9SEeSV1Mx9A3xekQ" horizontal="true"> - <children xsi:type="basic:PartSashContainer" xmi:id="_Z50IvM9SEeSV1Mx9A3xekQ" containerData="7500" selectedElement="_Z50Ivs9SEeSV1Mx9A3xekQ"> + <children xsi:type="basic:PartSashContainer" xmi:id="_Z50IvM9SEeSV1Mx9A3xekQ" containerData="7500" selectedElement="_Z50Ivc9SEeSV1Mx9A3xekQ"> <children xsi:type="advanced:Placeholder" xmi:id="_Z50Ivc9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.editorss" containerData="7966" ref="_Z50J5s9SEeSV1Mx9A3xekQ"/> <children xsi:type="basic:PartStack" xmi:id="_Z50Ivs9SEeSV1Mx9A3xekQ" elementId="bottom" containerData="2034" selectedElement="_Z50Iw89SEeSV1Mx9A3xekQ"> <tags>newtablook</tags> @@ -263,79 +263,97 @@ <tags>categoryTag:Help</tags> </sharedElements> <sharedElements xsi:type="advanced:Area" xmi:id="_Z50J5s9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.editorss" selectedElement="_Z50J589SEeSV1Mx9A3xekQ"> - <children xsi:type="basic:PartStack" xmi:id="_Z50J589SEeSV1Mx9A3xekQ" elementId="org.eclipse.e4.primaryDataStack" selectedElement="_YhC7QOT9EeSp2--h7CW18g"> + <children xsi:type="basic:PartStack" xmi:id="_Z50J589SEeSV1Mx9A3xekQ" elementId="org.eclipse.e4.primaryDataStack" selectedElement="_ZTOnIOdjEeSw1PatLR9qrg"> <tags>newtablook</tags> <tags>org.eclipse.e4.primaryDataStack</tags> <tags>EditorStack</tags> <tags>active</tags> - <children xsi:type="basic:Part" xmi:id="_G8o4MONvEeSo5ZkZK2zDJg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CurseMidasTouch.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CurseMidasTouch.java" partName="CurseMidasTouch.java" title="CurseMidasTouch.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="2796" selectionTopPixel="420"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_Fft3UOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="JewelrycraftMod.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="JewelrycraftMod.java" partName="JewelrycraftMod.java" title="JewelrycraftMod.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="15" selectionOffset="3360" selectionTopPixel="85"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_YhC7QOT9EeSp2--h7CW18g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ItemRender.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ItemRender.java" partName="ItemRender.java" title="ItemRender.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="4267" selectionTopPixel="1222"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_z-OVQObCEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CurseList.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CurseList.java" partName="CurseList.java" title="CurseList.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseList.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseList.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="1393" selectionTopPixel="0"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> - <tags>active</tags> - <tags>activeOnClose</tags> </children> - <children xsi:type="basic:Part" xmi:id="_QOOnQOX_EeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="RenderItem.class" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/classf_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.ClassFileEditor" name="RenderItem.class" partName="RenderItem.class" title="RenderItem.class" tooltip="net.minecraft.client.renderer.entity.RenderItem">
<input factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.client.renderer.entity(RenderItem.class"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="26473" selectionTopPixel="10440"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_TAhvsObDEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CurseRabbitsPaw.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CurseRabbitsPaw.java" partName="CurseRabbitsPaw.java" title="CurseRabbitsPaw.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="2337" selectionTopPixel="168"/>
</editor>"/> <tags>Editor</tags> - <tags>org.eclipse.jdt.ui.ClassFileEditor</tags> + <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_Fft3UOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="JewelrycraftMod.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="JewelrycraftMod.java" partName="JewelrycraftMod.java" title="JewelrycraftMod.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="8953" selectionTopPixel="1596"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_WPTY0ObDEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="Curse.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Curse.java" partName="Curse.java" title="Curse.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/curses/Curse.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/curses/Curse.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="2723" selectionTopPixel="1324"/>
</editor>"/> + <tags>Editor</tags> + <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> + <tags>removeOnHide</tags> + </children> + <children xsi:type="basic:Part" xmi:id="_g4gzMObDEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="EntityEventHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="EntityEventHandler.java" partName="EntityEventHandler.java" title="EntityEventHandler.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="7535" selectionTopPixel="1023"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_fIscoOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="EventCommonHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="EventCommonHandler.java" partName="EventCommonHandler.java" title="EventCommonHandler.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="405" selectionTopPixel="0"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_o4tKoObIEeSB38Db84OA6g" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="BlockEventHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="BlockEventHandler.java" partName="BlockEventHandler.java" title="BlockEventHandler.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="635" selectionTopPixel="0"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_f77QYOYZEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="BlockEventHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="BlockEventHandler.java" partName="BlockEventHandler.java" title="BlockEventHandler.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="715" selectionOffset="542" selectionTopPixel="0"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_VshKgOc0EeSTmKvBaHO00w" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="PlayerRenderHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="PlayerRenderHandler.java" partName="PlayerRenderHandler.java" title="PlayerRenderHandler.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="2073" selectionTopPixel="115"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_hho0gOYaEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ClientProxy.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ClientProxy.java" partName="ClientProxy.java" title="ClientProxy.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="6335" selectionTopPixel="969"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_agJRkOc0EeSTmKvBaHO00w" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="PacketSendServerPlayersInfo.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="PacketSendServerPlayersInfo.java" partName="PacketSendServerPlayersInfo.java" title="PacketSendServerPlayersInfo.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="1945" selectionTopPixel="287"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_k9i6sOYaEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="TabRegistry.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="TabRegistry.java" partName="TabRegistry.java" title="TabRegistry.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/TabRegistry.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="2039" selectionTopPixel="423"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_ZTOnIOdjEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="CursePentagram.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CursePentagram.java" partName="CursePentagram.java" title="CursePentagram.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="1464" selectionTopPixel="219"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> + <tags>active</tags> + <tags>activeOnClose</tags> </children> - <children xsi:type="basic:Part" xmi:id="_05kSgOYaEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="AbstractTab.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="AbstractTab.java" partName="AbstractTab.java" title="AbstractTab.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/AbstractTab.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="1022" selectionTopPixel="423"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_UJR1UOdkEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ItemRender.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ItemRender.java" partName="ItemRender.java" title="ItemRender.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="8009" selectionTopPixel="2057"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_rtp1MOYdEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GuiJewelry.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GuiJewelry.java" partName="GuiJewelry.java" title="GuiJewelry.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelry.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="1919" selectionTopPixel="0"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_G0wnEOdrEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ScreenHandler.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ScreenHandler.java" partName="ScreenHandler.java" title="ScreenHandler.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="55" selectionOffset="2094" selectionTopPixel="51"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> - <children xsi:type="basic:Part" xmi:id="_lYnsIOYlEeSzLJaotmh6og" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GuiGuide.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GuiGuide.java" partName="GuiGuide.java" title="GuiGuide.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="7417" selectionTopPixel="2482"/>
</editor>"/> + <children xsi:type="basic:Part" xmi:id="_IF0mUOdrEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="Gui.class" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/classf_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.ClassFileEditor" name="Gui.class" partName="Gui.class" title="Gui.class" tooltip="net.minecraft.client.gui.Gui">
<input factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.client.gui(Gui.class"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="5664" selectionTopPixel="1834"/>
</editor>"/> + <tags>Editor</tags> + <tags>org.eclipse.jdt.ui.ClassFileEditor</tags> + <tags>removeOnHide</tags> + </children> + <children xsi:type="basic:Part" xmi:id="_QEmawOdrEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ClientProxy.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ClientProxy.java" partName="ClientProxy.java" title="ClientProxy.java" tooltip="Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/Minecraft/src/main/java/darkknight/jewelrycraft/proxy/ClientProxy.java"/>
<editorState selectionHorizontalPixel="0" selectionLength="110" selectionOffset="6572" selectionTopPixel="185"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags> <tags>removeOnHide</tags> </children> + <children xsi:type="basic:Part" xmi:id="_ByB3kOdsEeSw1PatLR9qrg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="ItemRenderer.class" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/classf_obj.gif" closeable="true"> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.jdt.ui.ClassFileEditor" name="ItemRenderer.class" partName="ItemRenderer.class" title="ItemRenderer.class" tooltip="net.minecraft.client.renderer.ItemRenderer">
<input factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" org.eclipse.jdt.ui.ClassFileIdentifier="=Minecraft/C:\/Users\/Sorin\/.gradle\/caches\/minecraft\/net\/minecraftforge\/forge\/1.7.10-10.13.0.1208\/forgeSrc-1.7.10-10.13.0.1208.jar&lt;net.minecraft.client.renderer(ItemRenderer.class"/>
<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="11681" selectionTopPixel="2924"/>
</editor>"/> + <tags>Editor</tags> + <tags>org.eclipse.jdt.ui.ClassFileEditor</tags> + <tags>removeOnHide</tags> + </children> </children> </sharedElements> <sharedElements xsi:type="basic:Part" xmi:id="_Z50KAM9SEeSV1Mx9A3xekQ" 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" tooltip="Workspace" closeable="true"> @@ -399,7 +417,7 @@ <tags>categoryTag:General</tags> </sharedElements> <sharedElements xsi:type="basic:Part" xmi:id="_Z50KEc9SEeSV1Mx9A3xekQ" 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" closeable="true"> - <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<view PRIMARY_SORT_FIELD="org.eclipse.ui.ide.severityAndDescriptionField" categoryGroup="org.eclipse.ui.ide.severity" markerContentGenerator="org.eclipse.ui.ide.problemsGenerator" partName="Problems">
<expanded>
<category IMemento.internal.id="Errors (16 items)"/>
</expanded>
<columnWidths org.eclipse.ui.ide.locationField="90" org.eclipse.ui.ide.markerType="90" org.eclipse.ui.ide.pathField="120" org.eclipse.ui.ide.resourceField="90" org.eclipse.ui.ide.severityAndDescriptionField="300"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.severityAndDescriptionField"/>
<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"/>
</view>"/> + <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<view PRIMARY_SORT_FIELD="org.eclipse.ui.ide.severityAndDescriptionField" categoryGroup="org.eclipse.ui.ide.severity" markerContentGenerator="org.eclipse.ui.ide.problemsGenerator" partName="Problems">
<columnWidths org.eclipse.ui.ide.locationField="90" org.eclipse.ui.ide.markerType="90" org.eclipse.ui.ide.pathField="120" org.eclipse.ui.ide.resourceField="90" org.eclipse.ui.ide.severityAndDescriptionField="461"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.severityAndDescriptionField"/>
<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"/>
</view>"/> <tags>View</tags> <tags>categoryTag:General</tags> <menus xmi:id="_Z50KEs9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.views.ProblemView"> @@ -919,7 +937,7 @@ </children> <children xsi:type="menu:ToolBar" xmi:id="_Z50wWs9SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.workbench.file"> <tags>Draggable</tags> - <children xsi:type="menu:HandledToolItem" xmi:id="_Qa_HUOXzEeSzLJaotmh6og" elementId="print" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/print_edit.png" tooltip="Print" command="_Z53Mr89SEeSV1Mx9A3xekQ"/> + <children xsi:type="menu:HandledToolItem" xmi:id="_kahF8OhmEeSxcNmyBARhQw" elementId="print" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/print_edit.png" tooltip="Print" command="_Z53Mr89SEeSV1Mx9A3xekQ"/> </children> <children xsi:type="menu:ToolBar" xmi:id="_Z50waM9SEeSV1Mx9A3xekQ" elementId="additions" toBeRendered="false"> <tags>toolbarSeparator</tags> @@ -958,7 +976,7 @@ </children> <children xsi:type="menu:ToolBar" xmi:id="_Z50wr89SEeSV1Mx9A3xekQ" elementId="org.eclipse.ui.workbench.navigate"> <tags>Draggable</tags> - <children xsi:type="menu:HandledToolItem" xmi:id="_QbMiseXzEeSzLJaotmh6og" 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="_Z52mOc9SEeSV1Mx9A3xekQ"/> + <children xsi:type="menu:HandledToolItem" xmi:id="_ka0A4OhmEeSxcNmyBARhQw" 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="_Z52mOc9SEeSV1Mx9A3xekQ"/> </children> <children xsi:type="menu:ToolBar" xmi:id="_Z50wus9SEeSV1Mx9A3xekQ" elementId="group.editor" toBeRendered="false"> <tags>toolbarSeparator</tags> diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index Binary files differindex 22a9e0f..fa755f1 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index +++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/286606776.index diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps Binary files differindex bdab874..09db74d 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps +++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps diff --git a/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml index c11066e..d05fd88 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +++ b/eclipse/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml @@ -1,10 +1,5 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <qualifiedTypeNameHistroy> -<fullyQualifiedTypeName name="java.util.ArrayList"/> -<fullyQualifiedTypeName name="darkknight.jewelrycraft.network.PacketSendPlayerInfo"/> -<fullyQualifiedTypeName name="net.minecraft.server.MinecraftServer"/> -<fullyQualifiedTypeName name="java.util.List"/> -<fullyQualifiedTypeName name="java.util.Iterator"/> <fullyQualifiedTypeName name="net.minecraft.entity.player.EntityPlayer"/> <fullyQualifiedTypeName name="darkknight.jewelrycraft.network.PacketSendCurseStats"/> <fullyQualifiedTypeName name="darkknight.jewelrycraft.events.PlayerRenderHandler"/> @@ -46,11 +41,7 @@ <fullyQualifiedTypeName name="net.minecraft.block.material.Material"/> <fullyQualifiedTypeName name="darkknight.jewelrycraft.util.JewelryNBT"/> <fullyQualifiedTypeName name="darkknight.jewelrycraft.item.ItemList"/> -<fullyQualifiedTypeName name="net.minecraft.client.Minecraft"/> -<fullyQualifiedTypeName name="net.minecraft.client.renderer.ItemRenderer"/> -<fullyQualifiedTypeName name="net.minecraft.client.renderer.entity.RenderItem"/> <fullyQualifiedTypeName name="net.minecraft.client.renderer.entity.RenderManager"/> -<fullyQualifiedTypeName name="net.minecraft.init.Items"/> <fullyQualifiedTypeName name="net.minecraft.block.Block"/> <fullyQualifiedTypeName name="net.minecraft.init.Blocks"/> <fullyQualifiedTypeName name="darkknight.jewelrycraft.util.JewelrycraftUtil"/> @@ -60,4 +51,13 @@ <fullyQualifiedTypeName name="net.minecraftforge.event.entity.player.PlayerEvent"/> <fullyQualifiedTypeName name="cpw.mods.fml.common.gameevent.PlayerEvent"/> <fullyQualifiedTypeName name="cpw.mods.fml.common.Loader"/> +<fullyQualifiedTypeName name="net.minecraft.world.World"/> +<fullyQualifiedTypeName name="darkknight.jewelrycraft.curses.CurseList"/> +<fullyQualifiedTypeName name="cpw.mods.fml.relauncher.Side"/> +<fullyQualifiedTypeName name="cpw.mods.fml.common.gameevent.TickEvent.Phase"/> +<fullyQualifiedTypeName name="net.minecraft.block.BlockAir"/> +<fullyQualifiedTypeName name="net.minecraft.client.renderer.entity.RenderItem"/> +<fullyQualifiedTypeName name="net.minecraft.client.renderer.ItemRenderer"/> +<fullyQualifiedTypeName name="net.minecraft.init.Items"/> +<fullyQualifiedTypeName name="net.minecraft.client.Minecraft"/> </qualifiedTypeNameHistroy> diff --git a/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.history b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.history new file mode 100644 index 0000000..c194bf5 --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.history @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<session version="1.0">
<refactoring comment="Rename type 'darkknight.jewelrycraft.network.PacketSendPlayerInfo' to 'PacketSendClientPlayerInfo'
- Original project: 'Minecraft'
- Original element: 'darkknight.jewelrycraft.network.PacketSendPlayerInfo'
- Renamed element: 'darkknight.jewelrycraft.network.PacketSendClientPlayerInfo'
- Update references to refactored element
- Update textual occurrences in comments and strings" description="Rename type 'PacketSendPlayerInfo'" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src\/main\/java<darkknight.jewelrycraft.network{PacketSendPlayerInfo.java[PacketSendPlayerInfo" matchStrategy="1" name="PacketSendClientPlayerInfo" qualified="false" references="true" similarDeclarations="false" stamp="1429540707783" textual="false" version="1.0"/>
<refactoring comment="Rename type 'darkknight.jewelrycraft.network.PacketSendCurseStats' to 'PacketSendServerPlayersInfo'
- Original project: 'Minecraft'
- Original element: 'darkknight.jewelrycraft.network.PacketSendCurseStats'
- Renamed element: 'darkknight.jewelrycraft.network.PacketSendServerPlayersInfo'
- Update references to refactored element
- Update textual occurrences in comments and strings" description="Rename type 'PacketSendCurseStats'" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src\/main\/java<darkknight.jewelrycraft.network{PacketSendCurseStats.java[PacketSendCurseStats" matchStrategy="1" name="PacketSendServerPlayersInfo" qualified="false" references="true" similarDeclarations="false" stamp="1429540733478" textual="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/4/17/refactorings.index b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.index new file mode 100644 index 0000000..7ab238b --- /dev/null +++ b/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Minecraft/2015/4/17/refactorings.index @@ -0,0 +1,2 @@ +1429540707783 Rename type 'PacketSendPlayerInfo' +1429540733478 Rename type 'PacketSendCurseStats' 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 index 0086a4c..ee8674e 100644 --- a/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml +++ b/eclipse/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml @@ -2,30 +2,30 @@ <section name="Workbench"> <section name="org.eclipse.ui.texteditor.FindReplaceDialog"> <item value="false" key="isRegEx"/> - <item value="fishin" key="selection"/> + <item value="v" key="selection"/> <item value="false" key="casesensitive"/> <item value="false" key="incremental"/> <item value="false" key="wrap"/> <item value="false" key="wholeword"/> <list key="findhistory"> - <item value="fishin"/> - <item value="harvest"/> - <item value="Harvest"/> - <item value="onBlockHarvest"/> - <item value="goldColor"/> - <item value="break"/> - <item value="color"/> - <item value="pressure"/> + <item value="p_73729_4_"/> + <item value="p_73729_3_"/> + <item value="p_73729_6_"/> + <item value="p_73729_2_"/> + <item value="p_73729_5_"/> + <item value="p_73729_1_"/> + <item value="update"/> + <item value="playerInfo.setBoolean("sendInfo", true);"/> </list> <list key="replacehistory"> - <item value="renderBlocksIr"/> - <item value="nbt"/> + <item value="v"/> + <item value="u"/> + <item value="z"/> + <item value="height"/> + <item value="y"/> + <item value="width"/> + <item value="x"/> <item value=""/> - <item value="categories[1]"/> - <item value="boolean exists"/> - <item value="exists"/> - <item value="new PacketRequestPlayerInfo(player)"/> - <item value="getModPlayerPersistTag(player, Variables.MODID)"/> </list> </section> <section name="org.eclipse.ui.texteditor.FindReplaceDialog_dialogBounds"> diff --git a/eclipse/.metadata/version.ini b/eclipse/.metadata/version.ini index 26cf69b..c87724b 100644 --- a/eclipse/.metadata/version.ini +++ b/eclipse/.metadata/version.ini @@ -1,3 +1,3 @@ -#Sat Apr 18 19:49:10 BST 2015 +#Tue Apr 21 22:39:48 BST 2015 org.eclipse.core.runtime=2 org.eclipse.platform=4.4.0.v20140925-0400 |
